当前位置:Gxlcms > mysql > DataGuard–物理主备库切换

DataGuard–物理主备库切换

时间:2021-07-01 10:21:17 帮助过:22人阅读

近期因为工作的需要,研究了一些DG的东西,以下是Performing a Switchover to a Physical Standby Database的操作步骤,主要是参考官方文档和网上一些资料,整理而成: 1、减少实例 在切换之前必须把数据库减少为一个实例,即RAC的话,只留一个节点。 shutdo

近期因为工作的需要,研究了一些DG的东西,以下是Performing a Switchover to a Physical Standby Database的操作步骤,主要是参考官方文档和网上一些资料,整理而成:

1、减少实例

在切换之前必须把数据库减少为一个实例,即RAC的话,只留一个节点。

shutdown immediate

或(紧急时在辅助实例执行)

shutdown abort

2、首先在主库确认没有日志缺口

SQL> select STATUS, GAP_STATUS from V$ARCHIVE_DEST_STATUS where DEST_ID = 2;

应该返回 VALID 和 NO GAP。

删除 LOG_ARCHIVE_DEST_N 参数中的所有延迟应用(delay)重做日志设置,你要确认所有变化都在备库应用,才能确保无数据丢失。

确认所有重做日志都已在备库应用,查询备库:

SQL> select NAME, VALUE, DATUM_TIME from V$DATAGUARD_STATS;

不应该返回 transport lag 或 apply lag, finish time 应该为0.

3、检查先决条件

检查完这些先决条件后,确认主库可以进行角色切换,查询主库:

SQL> select SWITCHOVER_STATUS from V$DATABASE;

如果返回 TO STANDBY 或 SESSIONS ACTIVE,那么主库就可以进行切换。

切换主库为备库命令为:

alter database commit to switchover to physical standby with session shutdown;

shutdown immediate

startup mount

4、备库切换为主库

查询备库是否可以切换为主库

select SWITCHOVER_STATUS from V$DATABASE;

如果返回 TO PRIMARY 或 SESSIONS ACTIVE,就可以切换。

如果返回 SWITCHOVER LATENT 或 SWITCHOVER PENDING,就要去检查告警日志,看有什么问题,一般是需要应用一些日志。

如果是需要应用日志的话,在备库执行如下命令:

recover standby database using backup controlfile;

在应用日志前应该是 SWITCHOVER PENDING 状态,完成应用后,会变成 TO PRIMARY 或 SESSIONS ACTIVE状态。

切换备库为主库:

alter database commit to switchover to ?primary with session shutdown;

打开新主库:

alter database open;

5、在原主库(现备库)启用日志应用

如果其他物理备库被停止,也需要启用日志应用

alter database recover managed standby databse using current logfile disconnect from session;

人气教程排行