DG物理standby,switchover步骤
环境为11gR2,oracle
linux 6.4;物理standby,单实例;
步骤1:查询primary数据库的switchover_status
SQL> SELECTSWITCHOVER_STATUSFROM
V$DATABASE;
SWITCHOVER_STATUS
-----------------
TO STANDBY
1 row selected
如果SWITCHOVER_STATUS为TO STANDBY或SESSIONS ACTIVE值,为正常状态,可以switchover为物理standby;
步骤2:primary数据库上开始执行switchover
SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL
STANDBY WITH SESSION SHUTDOWN;
这个SQL语句将主数据库转换成一个物理备用数据库。当前控制文件备份到当前SQL会话切换前的跟踪文件,如果必要的话可以利用其重建控制文件。
步骤3:重启原primary数据库到mount状态
SQL> SHUTDOWN ABORT;
SQL> STARTUP MOUNT;
步骤4:验证物理standby状态
查询standby数据库的switchover状态为TO_PRIMARY,
SQL> SELECT SWITCHOVER_STATUS FROM
V$DATABASE;
SWITCHOVER_STATUS
-----------------
TO_PRIMARY
1 row selected
如果SWITCHOVER_STATUS为TO
PRIMARY或SESSIONS ACTIVE值,为正常状态,可以switchover为primary;
步骤5:standby数据库上开始执行switchover
SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY WITH
SESSION SHUTDOWN;
步骤6:打开新primary数据库到open状态
SQL> ALTER DATABASE OPEN;
步骤7:启动新物理standby数据库redo应用
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING
CURRENT LOGFILE DISCONNECT FROM SESSION;
注意,如果有多个standby,检查其他standby的redo应用是否停止,如果是则重新启动;
上面7步骤简单即:
db66(primary):
SQL>
SELECT SWITCHOVER_STATUS FROM V$DATABASE;
SQL>
ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY WITH SESSION SHUTDOWN;
SQL> SHUTDOWN ABORT;
SQL> STARTUP MOUNT;
db20(target standby):
SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;
SQL>ALTER DATABASE COMMIT TO
SWITCHOVER TO PRIMARY WITH SESSION SHUTDOWN;
SQL> ALTER DATABASE OPEN;
db66(primary):
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING
CURRENT LOGFILE DISCONNECT FROM SESSION;