ITPub博客

首页 > 数据库 > Oracle > Data Guard切换测试

Data Guard切换测试

原创 Oracle 作者:hooca 时间:2014-12-26 18:11:06 0 删除 编辑
切换是计划内事件,计划外是故障转移

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/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-09-29

  • 博文量
    215
  • 访问量
    403159