RAC+DATAGUARD环境下主备切换
环境介绍
该文档的操作步骤适用于Primary DB为RAC,Standby DB为single instance 的
环境,在执行操作前要确保主库的物理备份完成,以备切换失败的恢复,另RAC和备库的
参数文件已经备份与$ORACLE_HOME/dbs目录下,主库的pfile=$ORACLE_HOME/
dbs/pfile_primary.ora,备库的参数文件已经备份在pfile=$ORACLE_HOME/dbs/
pfile_standby.ora ,主库的备份脚本位于节点3的/home/oracle/myscripts/
将主库切换到备库
1、 停止中间件服务器
2、 确认无应用程序连接后,将主数据库进行全库备份,已确保在切换到主库过程中失败并且无法切换回来时的恢复。Rman做一次物理备份,exp做一次逻辑备份。
3、 停止节点2、3的实例
[grid@oracle-rac1 ~]$ srvctl stop instance
-d erpdb -i erpdb2,erpdb3
4、 停止2、3节点的EM程序
[oracle@rac1 ~]$ emctl stop dbconsole
[oracle@rac2 ~]$ emctl stop dbconsole
5、 确保节点1的日志已经全部传送到了备库
SQL> SELECT THREAD#, LOW_SEQUENCE#, HIGH_SEQUENCE# FROM
V$ARCHIVE_GAP;
未选定行
6、 在节点1,执行select switchover_status from v$database;确认为TO_STANDBY
SQL> select SWITCHOVER_STATUS from v$database;
SWITCHOVER_STATUS
-------------------------
TO STANDBY
7、将节点一切换成主库
SQL> alter database commit to switchover to
SQL> physical standby;
8. 在节点1重启数据库
SQL> shutdown immediate;
SQL> startup nomount;
SQL> alter database mount standby database;
从备库切换到主库
1、停止EM程序并查看切换状态
[oracle@pstdby ~]$ emctl stop dbconsole
SQL> select SWITCHOVER_STATUS from v$database;
SWITCHOVER_STATUS
-------------------------
TO PRIMARY
2、将备库切换为主库
SQL> alter database commit to switchover to
SQL> primary;
3、重启数据库,执行
SQL> shutdown immediate;
SQL> startup;
4、确认检查
SQL> select database_role from v$database;
DATABASE_ROLE
------------------
PRIMARY
5、检查日志应用情况
SELECT SEQUENCE#,APPLIED FROM V$ARCHIVED_LOG;
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23721637/viewspace-1050216/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/23721637/viewspace-1050216/