注:以下操作适用于任何数据库实例。
主库突然宕机的情况下,使用DG备库进行failover
1、备库停止应用日志,并切换归档路径
SQL > ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
SQL> alter system set log_archive_dest_state_2=DEFER;
2、把备库转换成主库
SQL > ALTER DATABASE ACTIVATE STANDBY DATABASE;
SQL > STARTUP MOUNT FORCE;
3、改变dataguard模式为最高性能
SQL >ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE PERFORMANCE;
4、打开数据库
SQL >ALTER DATABASE OPEN;
5、在当前主库查询角色切换时的scn号
SQL> select to_char(STANDBY_BECAME_PRIMARY_SCN) from v$database;
TO_CHAR(STANDBY_BECAME_PRIMARY_SCN)
----------------------------------------
1233684
6、在当前备库删除归档日志
RMAN> DELETE ARCHIVELOG FROM SCN 1233684;
注意:上述操作完成之后,可以按照dataguard搭建文档重新搭建新的DG备库。