2.1 备库停止mrp
alter database recover managed standby database cancel;
2.2 备库进行failover
备库执行
SQL> ALTER DATABASE FAILOVER TO target_db_name;
以上SQL如果执行成功继续执行2.3
如果执行失败加FORCE尝试继续执行
SQL> ALTER DATABASE FAILVOVER TO target_db_name FORCE;
如果报错ORA-16472,表示数据库已配置为MaxAvailability或MaxProtection模式,但在failover过程中检测到数据丢失。
可以执行以下SQL继续完成failover
SQL> ALTER DATABASE ACTIVATE PHYSICAL STANDBY DATABASE;
2.3 新主库置为open状态
SQL> ALTER DATABASE OPEN;
2.4 确认新主库数据库角色
SQL> select database_role from v$database;