DG

从11g起,主库和逻辑备库之间切换不再需要关闭任何数据库实例。

1.检查主数据库是否处于考虑切换状态

SQL> select switchover_status from v$database;

结果为to standby,表明主库已近处在考虑切换状态。

2.在当前主库执行,通知主库数据库角色可能发生变化

SQL> alter database prepare to switchover to logical standby;

3.在备库执行,通知备库角色可能发生变化

SQL> alter database prepare to switchover to primary;

这里备库会创建新的数据字典,并发送到主库

4.再次查看主库、备库的状态

SQL> select switchover_status from v$database;

5.如果想取消切换,可以使用cancel取消2,3的准备阶段的工作
#先在主库取消

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;

原逻辑备库中创建的对象,在新的逻辑备库上再次实例化之前,他们的redo信息在新的备库会被跳过。

原文地址:https://www.cnblogs.com/abclife/p/5701543.html