In this blog I am going to discuss on how to flashback a RAC Primary and RAC Standby both and ensure Standby is in sync.
These are for some maintenance activities you might want to perform on Primary and to have a rollback plan.
My primary Database name is PRIM and Standby is STDBY.
Step 1 and 2 are setup for the flashback.
Step 1 - Stop the apply on STDBY
dgmgrl /
edit database 'STDBY' set state 'APPLY-OFF'
Step 2 - Create GRP (Guaranteed Restore Point)
i. Switch logfile on Primary (alter system archive log current)
ii. Create GRP on Standby (Create Restore Point BEFORE_RELOAD GUARANTEE FLASHBACK DATABASE)
iii. Create GRP on Primary (Create Restore Point BEFORE_RELOAD GUARANTEE FLASHBACK DATABASE)
iv. take output of select * from v$restore_point and note the scn.
Now do your changes (patching etc), assuming your changes were not successful and you want to rollback.
Step 3 - Do the Flashback
i. Stop Database Primary (srvctl stop database -d PRIM)
ii. Start one instance in mount (startup mount exclusive)
iii. Flashback Database (flashback database to restore point BEFORE_RELOAD);
iv. alter database open reset logs
Step 4 - Start Primary (all nodes)
i. srvctl start database -d PRIM
Step 5 - Flashback Standby
i. Check the current_scn (select current_scn from V$database)
ii. if current_scn of Standby is less than 2.iv, i.e scn of GRP on primary then you need not to do any flashback and can skip
iii. If current_scn is greater then you have 2 options
First - srvctl stop database -d STDBY and then startup mount exclusive for 1 instance
Then -
a. Flashback to scn of the GRP of primary (flashback database to scn <> )
b. Flashback to scn of the GRP of standby (flashback database to restore point BEFORE_RELOAD). This assumes the scn of standby GRP is less than scn of primary GRP
iv. start DB (srvctl stop database -d CHMSTDBY, and srvctl start database -d CHMSTDBY)
v. Ensure apply is working fine. (edit database 'STDBY' set state='APPLY-ON')
Step 6 - Finally Drop Restore Points
i. Primary - Drop restore point BEFORE_RELOAD
ii. Standby - for this you will have to have database is mount mode (in case your standby was read only) and then 'drop restore point BEFORE_RELOAD'
References: How To Flashback Primary Database In Standby Configuration (Doc ID 728374.1)
Comments
Post a Comment