1、查看主库是否处于to standby状态
SQL> select switchover_status from v$database;
2、将primary置为准备转换standby的状态:
SQL> alter database prepare to switchover to logical standby;
3、此时检查主库的Switchover状态为PREPARING SWITCHOVER。如果不是,需要暂停主备切换,排查原因。
SQL> select switchover_status from v$database;
SWITCHOVER_STATUS
--------------------
PREPARING SWITCHOVER
SQL>
3、将备库设置为准备转换主库的状态
SQL> alter database prepare to switchover to primary;
4、此时检查备库的Switchover状态为PREPARING SWITCHOVER。如果不是,需要暂停主备切换,排查原因。
SQL> select switchover_status from v$database;
SWITCHOVER_STATUS
--------------------
PREPARING SWITCHOVER
SQL>
5、如果此时想取消主备切换,可以执行下面命令
主库取消
SQL> alter database prepare to switchover cancel;
备库取消
SQL> alter database prepare to switchover cancel;
6、正式开始切换
主库执行:
SQL> alter database commit to switchover to logical standby;
备库执行:
SQL> alter database commit to switchover to primary;
7、在新的备库启用SQL apply
SQL> alter database start logical standby apply immediate;