Data Guard切换测试

本文详细介绍了在Oracle数据库中如何进行从主数据库到备用数据库的切换操作。首先需要确保所有活动会话关闭并验证主备数据库之间的同步状态。接着通过特定的SQL命令在原主数据库上启动切换流程,并在原备用数据库上完成角色转变。最后,重新打开新的主数据库并使新的备用数据库进入redo应用状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

切换是计划内事件,计划外是故障转移

1)切换前准备
将Primary端和Standby端的实例都减小到1。
确保Primary上已没有活动会话:

点击(此处)折叠或打开

  1. SELECT SWITCHOVER_STATUS FROM V$DATABASE;

SWITCHOVER_STATUS
----------------------------------------
TO STANDBY

如果是结果是SESSIONS ACTIVE,说明还有会话连接,检查:

点击(此处)折叠或打开

  1. SELECT PROGRAM, TYPE FROM V$SESSION WHERE TYPE='USER';
关停这些会话。

确认Standby是否与Primary同步:

分两种情况:

a. 如果是最高可用或最大保护:

点击(此处)折叠或打开

  1. SELECT DB_UNIQUE_NAME, PROTECTION_MODE, SYNCHRONIZATION_STATUS,
  2. SYNCHRONIZED FROM V$ARCHIVE_DEST_STATUS;

DB_UNIQUE_NAME  PROTECTION_MODE      SYNCHRONIZATION_STATUS SYN 
--------------- -------------------- ---------------------- --- 
NONE            MAXIMUM PERFORMANCE  CHECK CONFIGURATION    NO 
matrix_dr0      MAXIMUM AVAILABILITY OK                     YES
NONE            MAXIMUM PERFORMANCE  CHECK CONFIGURATION    NO 
NONE            MAXIMUM PERFORMANCE  CHECK CONFIGURATION    NO 
NONE            MAXIMUM PERFORMANCE  CHECK CONFIGURATION    NO 
NONE            MAXIMUM PERFORMANCE  CHECK CONFIGURATION    NO 
NONE            MAXIMUM PERFORMANCE  CHECK CONFIGURATION    NO 
NONE            MAXIMUM PERFORMANCE  CHECK CONFIGURATION    NO 
NONE            MAXIMUM PERFORMANCE  CHECK CONFIGURATION    NO 
NONE            MAXIMUM PERFORMANCE  CHECK CONFIGURATION    NO 
10 rows selected.

b. 如果是最高性能
在Primary,查看当前日志序列号

点击(此处)折叠或打开

  1. SELECT THREAD#,SEQUENCE#,STATUS FROM V$LOG;

   THREAD#  SEQUENCE# STATUS
---------- ---------- --------------------------------
         1        265 INACTIVE
         1        266 CURRENT
         1        264 INACTIVE

在Standby,查看RFS的序列号。如果和Primary一致,则表明同步。

点击(此处)折叠或打开

  1. SELECT CLIENT_PROCESS,PROCESS,SEQUENCE#,STATUS FROM V$MANAGED_STANDBY;

CLIENT_PROCESS   PROCESS             SEQUENCE# STATUS
---------------- ------------------ ---------- ------------------------
ARCH             ARCH                        0 CONNECTED
ARCH             ARCH                        0 CONNECTED
ARCH             ARCH                        0 CONNECTED
ARCH             ARCH                      265 CLOSING
N/A              MRP0                      266 APPLYING_LOG
ARCH             RFS                         0 IDLE
UNKNOWN          RFS                         0 IDLE
LGWR             RFS                       266 IDLE

2)tail -f 查看alert log
3)  执行切换
在Primary

点击(此处)折叠或打开

  1. ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY
  2. WITH SESSION SHUTDOWN;
到这里,原来的Primary已经转换为Standby。接下来要将原来的Standby转换为Primary。

在原来的Standby端,正在等待转换为Primary(TO PRIMARY)

点击(此处)折叠或打开

  1. SELECT SWITCHOVER_STATUS FROM V$DATABASE;

SWITCHOVER_STATUS
----------------------------------------
TO PRIMARY

接下来在原备用库上运行命令,完成备用到主数据库的切换:

点击(此处)折叠或打开

  1. ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY
  2. WITH SESSION SHUTDOWN;

4)后续
打开新Primary数据库

点击(此处)折叠或打开

  1. ALTER DATABASE OPEN;
新的Standby数据库启用Redo Apply


点击(此处)折叠或打开

  1. SQL> SHUTDOWN IMMEDIATE
  2. SQL> STARTUP MOUNT
  3. SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT;
完成。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22621861/viewspace-1381304/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/22621861/viewspace-1381304/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值