Tracing uard setup notes

Source: Internet
Author: User

To test a DG problem, set up a test environment on Vmware and place primary and standby on the same host.
I will not repeat the setup process, but I encountered some problems at the end. Record them here for future reference.

---- Some commands during setup -----

1. backup database format '/tmp/bk_%U';2. backup current controlfile for standby format '/tmp/stdbyctl.bkp';3. catalog start with '/tmp/';4. set controlfile autobackup format for device type disk to '/tmp/%F';    restore standby controlfile from '/tmp/stdbyctl.bkp';  5. RMAN> CONNECT TARGET SYS/oracle@db;RMAN> CONNECT AUXILIARY SYS/oracle@stddb;

6. Most std pfile content

Db_file_name_convert = '+ data/db/', '+ reco/stddb/'log_file_name_convert =' + RECO/db/archivelog /', '+ RECO/stddb/archivelog_std/' log_archive_format = % t _ % s _ % r. arc standby_file_management = auto compatible = '11. 2.0.0.0 'control_files = '+ RECO/stddb/controlfile/current.260.834947597' <set it to control_files = '+ reco' Before restoring control, change db_block_size = 8192 processes = 150 remote_login_passwordfile = 'clusive 'undo_tablespace = 'undotbs1' undo_management = auto log_archive_config = 'dg _ config = (primdb, stbdb) 'log_archive_dest_1 = 'location = + RECO/stddb/archivelog_std/valid_for = (all_logfiles, all_roles) db_unique_name = stbdb'

Question 1:

During the listener setting process, a dynamic listener is registered after standby is started due to static listening. Currently, two listeners are available, with the dynamic listening status being blocked.
The problem is that when duplicate is connected, A ORA-12528 error occurs, rather than connecting to standby normally.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [oracle@OEL ~]$ lsnrctl statusLSNRCTL for Linux: Version 11.2.0.1.0 - Production on 30-DEC-2013 10:46:03Copyright (c) 1991, 2009, Oracle.  All rights reserved.Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521)) STATUS of the LISTENER  ------------------------  Alias                     LISTENER  Version                   TNSLSNR for Linux: Version 11.2.0.1.0 - Production  Start Date                27-NOV-2013 12:40:26  Uptime                    32 days 22 hr. 5 min. 37 sec  Trace Level               off  Security                  ON: Local OS Authentication  SNMP                      OFF  Listener Parameter File   /u01/app/11.2.0/grid/network/admin/listener.ora  Listener Log File         /u01/app/oracle/diag/tnslsnr/OEL/listener/alert/log.xml  Listening Endpoints Summary...    (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))    (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=OEL.localdomain)(PORT=1521)))  Services Summary...  Service "+ASM" has 1 instance(s).    Instance "+ASM", status READY, has 1 handler(s) for this service...  Service "PRIMDB" has 1 instance(s).    Instance "db", status READY, has 1 handler(s) for this service...  Service "dbXDB" has 1 instance(s).    Instance "db", status READY, has 1 handler(s) for this service...  Service "stbdb" has 1 instance(s).    Instance "stbdb", status UNKNOWN, has 1 handler(s) for this service...    <<<<<<<<<<<<<<<<<<<<<<  Service "stddb" has 1 instance(s).    Instance "stddb", status READY, has 1 handler(s) for this service...     <<<<<<<<<<<<<<<<<<<<<<  The command completed successfully  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

You can solve this problem by setting tnsnames. ora.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  stddb =  (DESCRIPTION =    (ADDRESS_LIST =      (ADDRESS = (PROTOCOL = TCP)(HOST = OEL.localdomain)(PORT = 1521))    )   (CONNECT_DATA = (SERVICE_NAME = stddb)(UR=A)) <--------------------In order to avoid error ORA-12528 )~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Question 2:

After executing the following command, the crash is dropped directly after primary. After querying alert, it is caused by redo broken.
Alter database recover managed standby database disconnect from session;

Query standby alert and find the following information:
After alter database recover... starts, the first thing is clear redo log, which directly leads to primary crash)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  # tail -f alert_stddb.log  Clearing online redo logfile 1 complete  Clearing online redo logfile 2 +DATA/db/redo02.log  Clearing online log 2 of thread 1 sequence number 5  Clearing online redo logfile 2 complete  Clearing online redo logfile 3 +DATA/db/redo03.log  Clearing online log 3 of thread 1 sequence number 3  Tue Dec 24 14:32:49 2013  Clearing online redo logfile 3 complete  Tue Dec 24 14:32:49 2013  Media Recovery Waiting for thread 1 sequence 4  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

After reconstruction several times, the problem persists.
Since both datafile and archivelog use the convert parameter for conversion, But redo cannot be converted, how can this problem be solved?
After analysis, it is found that there are some warning information at the end of duplicate:

~~~~~~~~~duplicate the standby databsae~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  RMAN> CONNECT TARGET SYS/oracle@db;  RMAN> CONNECT AUXILIARY SYS/oracle@stddb;connected to auxiliary database: DB (not mounted)RMAN> duplicate target database for standby;Starting Duplicate Db at 24-DEC-13 allocated channel: ORA_AUX_DISK_1  channel ORA_AUX_DISK_1: SID=13 device type=DISKcontents of Memory Script: {     restore clone standby controlfile;  }  executing Memory ScriptStarting restore at 24-DEC-13 using channel ORA_AUX_DISK_1channel ORA_AUX_DISK_1: starting datafile backup set restore channel ORA_AUX_DISK_1: restoring control file  channel ORA_AUX_DISK_1: reading from backup piece /tmp/stdbyctl.bkp  channel ORA_AUX_DISK_1: piece handle=/tmp/stdbyctl.bkp tag=TAG20131224T133449  channel ORA_AUX_DISK_1: restored backup piece 1  channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:08  output file name=+RECO/stddb/controlfile/current.259.835018533  Finished restore at 24-DEC-13contents of Memory Script: {     sql clone 'alter database mount standby database';  }  executing Memory Scriptsql statement: alter database mount standby databasecontents of Memory Script: {     set newname for tempfile  1 to   "+RECO/stddb/temp01.dbf";     switch clone tempfile all;     set newname for datafile  1 to   "+RECO/stddb/system01.dbf";     set newname for datafile  2 to   "+RECO/stddb/sysaux01.dbf";     set newname for datafile  3 to   "+RECO/stddb/undotbs01.dbf";     set newname for datafile  4 to   "+RECO/stddb/users01.dbf";     restore     clone database     ;  }  executing Memory Scriptexecuting command: SET NEWNAMErenamed tempfile 1 to +RECO/stddb/temp01.dbf in control fileexecuting command: SET NEWNAMEexecuting command: SET NEWNAMEexecuting command: SET NEWNAMEexecuting command: SET NEWNAMEStarting restore at 24-DEC-13 using channel ORA_AUX_DISK_1channel ORA_AUX_DISK_1: starting datafile backup set restore channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set  channel ORA_AUX_DISK_1: restoring datafile 00001 to +RECO/stddb/system01.dbf  channel ORA_AUX_DISK_1: restoring datafile 00002 to +RECO/stddb/sysaux01.dbf  channel ORA_AUX_DISK_1: restoring datafile 00003 to +RECO/stddb/undotbs01.dbf  channel ORA_AUX_DISK_1: restoring datafile 00004 to +RECO/stddb/users01.dbf  channel ORA_AUX_DISK_1: reading from backup piece /tmp/bk_01osanei_1_1  channel ORA_AUX_DISK_1: piece handle=/tmp/bk_01osanei_1_1 tag=TAG20131224T132953  channel ORA_AUX_DISK_1: restored backup piece 1  channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:04:27  Finished restore at 24-DEC-13contents of Memory Script: {     switch clone datafile all;  }  executing Memory Scriptdatafile 1 switched to datafile copy input datafile copy RECID=1 STAMP=835019033 file name=+RECO/stddb/system01.dbf  datafile 2 switched to datafile copy  input datafile copy RECID=2 STAMP=835019033 file name=+RECO/stddb/sysaux01.dbf  datafile 3 switched to datafile copy  input datafile copy RECID=3 STAMP=835019033 file name=+RECO/stddb/undotbs01.dbf  datafile 4 switched to datafile copy  input datafile copy RECID=4 STAMP=835019033 file name=+RECO/stddb/users01.dbf  ORACLE error from auxiliary database: ORA-01511: error in renaming log/data files      <<<<<<<<<<<<<<<<<<<<<<<<  ORA-01275: Operation RENAME is not allowed if standby file management is automatic.    <<<<<<<<<<<<<<<<<<<<<<<<RMAN-05535: WARNING: All redo log files were not defined properly. ORACLE error from auxiliary database: ORA-01511: error in renaming log/data files  ORA-01275: Operation RENAME is not allowed if standby file management is automatic.RMAN-05535: WARNING: All redo log files were not defined properly. ORACLE error from auxiliary database: ORA-01511: error in renaming log/data files  ORA-01275: Operation RENAME is not allowed if standby file management is automatic.RMAN-05535: WARNING: All redo log files were not defined properly. Finished Duplicate Db at 24-DEC-13  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

When standby_file_management is in MANUAL mode, you can manually change it to duplicate and rename successfully, and rename is in broken0 ~ 2.
This is because I have this standby_file_management = auto in pfile)

  checkpoint is 977553   last deallocation scn is 959057    Undo Optimization current scn is 974128  Tue Dec 24 15:16:57 2013  Switch of datafile 1 complete to datafile copy    checkpoint is 977553  Switch of datafile 2 complete to datafile copy    checkpoint is 977553  Switch of datafile 3 complete to datafile copy    checkpoint is 977553  Switch of datafile 4 complete to datafile copy    checkpoint is 977553  alter database rename file '+DATA/db/redo01.log' to 'broken0'  Completed: alter database rename file '+DATA/db/redo01.log' to 'broken0'   <<<<<<<<  alter database rename file '+DATA/db/redo02.log' to 'broken1'  Completed: alter database rename file '+DATA/db/redo02.log' to 'broken1'  alter database rename file '+DATA/db/redo03.log' to 'broken2'  Completed: alter database rename file '+DATA/db/redo03.log' to 'broken2'  RFS connections are allowed

When executing alter database recover..., you still need to clear the redo. However, redo rename should be executed, so the redo log of the master DATABASE will not be affected.

~~~~~~~~~~~~~~~~~~~~~ Tue Dec 24 15:45:37 2013  ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION  Attempt to start background Managed Standby Recovery process (stddb)  Tue Dec 24 15:45:37 2013  MRP0 started with pid=21, OS id=21343  MRP0: Background Managed Standby Recovery process started (stddb)   started logmerger process  Tue Dec 24 15:45:43 2013  Managed Standby Recovery not using Real Time Apply  Parallel Media Recovery started with 2 slaves  Waiting for all non-current ORLs to be archived...  All non-current ORLs have been archived.  Errors in file /u01/app/oracle/product/11.2.0/dbhome_1/log/diag/rdbms/stddb/stddb/trace/stddb_mrp0_21343.trc:  ORA-00313: open failed for members of log group 1 of thread 1  ORA-00312: online log 1 thread 1: '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/broken0'     <<<<<<<<<<<<<<<<  ORA-27037: unable to obtain file status  Linux-x86_64 Error: 2: No such file or directory  Additional information: 3  ......  Completed: ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION  Clearing online redo logfile 1 complete  Errors in file /u01/app/oracle/product/11.2.0/dbhome_1/log/diag/rdbms/stddb/stddb/trace/stddb_mrp0_21343.trc:  ORA-00313: open failed for members of log group 2 of thread 1  ORA-00312: online log 2 thread 1: '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/broken1'  ORA-27037: unable to obtain file status  Linux-x86_64 Error: 2: No such file or directory  Additional information: 3  ......  Tue Dec 24 15:45:48 2013  Clearing online redo logfile 2 complete  Errors in file /u01/app/oracle/product/11.2.0/dbhome_1/log/diag/rdbms/stddb/stddb/trace/stddb_mrp0_21343.trc:  ORA-00313: open failed for members of log group 3 of thread 1  ORA-00312: online log 3 thread 1: '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/broken2'  ORA-27037: unable to obtain file status  Linux-x86_64 Error: 2: No such file or directory  Additional information: 3  ......  Clearing online redo logfile 3 complete  Media Recovery Waiting for thread 1 sequence 4


Conclusion: The previous build of DG is implemented on two different hosts and has not been concerned about this issue, because the standby clearing the primary redo action must fail. But now it is on a host, standby can find the redo of the original primary, and because the rename fails, it is clear the primary redo directly, causing the primary to fail to start.
While root cause is when I edit pfile, I write standby_file_management = auto more. If I do not write it, the default value is manual, so this problem will not occur.

This article from the "Little Dog nest" blog, please be sure to keep this source http://hsbxxl.blog.51cto.com/181620/1346635

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.