Converting a Failed Primary Into a Standby Database Using Flashback Database
After a failover occurs, the original primary database can no longer participate in the Oracle Data Guard configuration until it is repaired and established as a standby database in the new configuration. We can use the Flashback Database feature to recover the failed primary database to a point in time before the failover occurred, and then convert it into a physical or logical standby database in the new configuration. The following steps assume that a failover has been performed to a physical standby database and that Flashback Database was enabled on the old primary database at the time of the failover. On New Primary [oracle@racnoden1 ~]$ sqlplus "/as sysdba" SQL> @name NAME OPEN_MODE DATABASE_ROLE PROTECTION_MODE --------- -------------------- ---------------- -------------------- DBSET READ WRITE PRIMARY MAXIMUM PERFORMANCE DBSET READ WRITE PRIMARY MAXIMUM PERFORMANCE SQL> SELECT TO_CHAR(STANDBY_BECAME_PRIMARY_SCN) FROM V$DATABASE; TO_CHAR(STANDBY_BECAME_PRIMARY_SCN) ---------------------------------------- 4514282 On OLD Primary SQL> @name NAME OPEN_MODE DATABASE_ROLE PROTECTION_MODE --------- -------------------- ---------------- -------------------- DBSET MOUNTED PRIMARY MAXIMUM PERFORMANCE SQL> shut immediate; ORA-01109: database not open Database dismounted. ORACLE instance shut down. [oracle@racsetn1 ~]$ sqlplus "/as sysdba" SQL> STARTUP MOUNT; ORACLE instance started. Total System Global Area 2751463160 bytes Fixed Size 8900344 bytes Variable Size 637534208 bytes Database Buffers 2097152000 bytes Redo Buffers 7876608 bytes Database mounted. SQL> FLASHBACK DATABASE TO SCN 4514282; Flashback complete. SQL> ALTER DATABASE CONVERT TO PHYSICAL STANDBY; Database altered. SQL> show parameter log_archive_dest_2 NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ log_archive_dest_2 string SERVICE=TNSSET SYNC AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=DBSET NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ log_archive_dest_state_2 string ENABLE SQL> @name NAME OPEN_MODE DATABASE_ROLE PROTECTION_MODE --------- -------------------- ---------------- -------------------- DBSET MOUNTED PHYSICAL STANDBY MAXIMUM PERFORMANCE SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT; Database altered. SQL> @sync Thread Last Sequence Received Last Sequence Applied Difference ---------- ---------------------- --------------------- ---------- 1 205 205 0 2 153 153 0 [oracle@racsetn1 ~]$ srvctl stop database -d DBTAR [oracle@racsetn1 ~]$ srvctl start database -d DBTAR -o "READ ONLY" SQL> @name NAME OPEN_MODE DATABASE_ROLE PROTECTION_MODE --------- -------------------- ---------------- -------------------- DBSET READ ONLY PHYSICAL STANDBY MAXIMUM PERFORMANCE DBSET READ ONLY PHYSICAL STANDBY MAXIMUM PERFORMANCE SQL> @sync Thread Last Sequence Received Last Sequence Applied Difference ---------- ---------------------- --------------------- ---------- 1 205 205 0 2 153 153 0 SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT; Database altered. SQL> SQL>
© 2021 Ace2Oracle. All Rights Reserved | Developed By IBOX444