Wednesday, July 26, 2006

Failover Operations Invoving a Physical Standby Database

http://download-west.oracle.com/docs/cd/B10501_01/server.920/a96653/
role_management.htm#1024092

During failover operations involving a physical standby database:
- In all cases, the original primary database is removed from the Data Guard configuration
- In most cases, other logical or physical standby databases not directly participating in the failover operation remain in the configuration and do not have to be shutdown or restarted.
- In some cases, it might be necessary to re-create all standby databases after configuring the new primary database

Failover steps

Step 1 Identify and resolve any archived redo log gaps
SQL> SELECT THREAD#, LOW_SEQUENCE#, HIGH_SEQUENCE# FROM V$ARCHIVE_GAP;THREAD# LOW_SEQUENCE# HIGH_SEQUENCE#

Step 2 Copy and other missing archived redo logs
register archived redo logs
SQL> alter database register physical logfile 'filespec1';

A partial archived redo log contains all of the primary database redo data received by the standby database when the primary database fails, but the archived redo log is not automatically registered in the standby database.

Step 3 Repeat steps 1 and 2.

The query executed in step 1 displays information for the highest gap only. After resolving that gap, you must repeat steps 1 and 2 until the query in step 1 returns no rows.

Step 4 Initiate the failover operation on the target physical standby database
If your target standby database was configured with standby redo logs and you have not manually registered any partial archived redo logs, issue the following statement:

SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINISH;


Otherwise, you must issue the following statement:
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINISH
2> SKIP STANDBY LOGFILE;

Step 5 Convert the physical standby database to the primary role.
Once the SQL ALTER DATABASE RECOVER MANAGED STANDBY DATABASE...FINISH statement completes successfully, transition the physical standby database to the primary database role by issuing the following SQL statement:

SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY;

No comments: