逻辑DG之Standby角色转换(二)

2014-11-24 00:13:47 · 作者: · 浏览: 25
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角色转换成功……