ER_STATUS
--------------------
PREPARING SWITCHOVER
再次查看状态变为准备中……
7.查看Primary数据库
SQL> select switchover_status from v$database;
SWITCHOVER_STATUS
--------------------
TO LOGICAL STANDBY
此次检查结果关系到switchover转换是否能够成功。
8.把当前的Primary转换成逻辑Standby
SQL> alter database commit to switchover to logical standby;
Database altered.
9.逻辑Standby在接收到前Primary的转换消息,并完成相关的REDO数据之后,会自动暂停SQL应用。如果之前没有启动REDO应用,现在启动还不晚。
SQL> alter database start logical standby apply;
Database altered.
SQL> select switchover_status from v$database;
SWITCHOVER_STATUS
--------------------
PREPARING SWITCHOVER 等会……
SQL> select switchover_status from v$database;
SWITCHOVER_STATUS
--------------------
TO PRIMARY
10.转换逻辑Standby为新的Primary数据库
SQL> alter database commit to switchover to primary;
Database altered.
启动新的逻辑Standby(之前的Primary)SQL应用
SQL> alter database start logical standby apply immediate;
Database altered.
测试:
在新的Primary里面插入测试数据:
SQL> select * from scott.test;
ID
----------
1
2
3
SQL> insert into scott.test values(4);
1 row created.
SQL> commit;
Commit complete.
检查新的standby:
SQL> select * from scott.test;
ID
----------
1
2
3
SQL> select * from scott.test;
ID
----------
1
2
3
SQL> select * from scott.test;
ID
----------
1
2
3
可能会延迟……
SQL> select * from scott.test;
ID
----------
1
2
3
4
逻辑Standby角色转换成功……