相对物理备库的切换,逻辑备库的切换稍微复杂点,但只要按照步骤,整个操作过程也可以在很短的时间内完成。这里记录下主库正常时的switchover操作过程:
1.切换前的检查
包括主备库参数设置,主备库的TNS设置,以及应用连接数据库的TNS等,确保主备库角色转换后整个系统运行不受影响。
2.主库准备切换
命令执行成功后,主库的状态
SWITCHOVER_STATUS
--------------------
PREPARING SWITCHOVER
3.备库准备切换
命令执行成功后,备库的状态
SWITCHOVER_STATUS
--------------------
PREPARING SWITCHOVER
4.主库开始切换
执行完第3步后,现在的备库需要生成logminer所需要的数据字典信息,然后传送到现在的主库,所以要执行逻辑备库切换,必须在备库也设置到主库的归档路径,并且主备库监听都需要保持开启。否则,切换的状态就会一直停留在PREPARING SWITCHOVER。
备库数据字典信息传递到主库后,主库的状态变成TO LOGICAL STANDBY,这时才能执行实际的切换。
SWITCHOVER_STATUS
--------------------
TO LOGICAL STANDBY
alter database commit to switchover to logical standby;
注:在PREPARING SWITCHOVER状态时,可以通过执行以下命令取消切换操作:
5.从库切换
上一步成功后,备库的状态应该变成了TO PRIMARY,则可以执行切换
SWITCHOVER_STATUS
--------------------
TO PRIMARY
alter database commit to switchover to primary;
6.在新的备库启动日志应用进程
如果是实时应用,则