1. 切换前状态检测
-
【总】主库查询备库是否已经同步
SELECT DB_UNIQUE_NAME, PROTECTION_MODE, SYNCHRONIZATION_STATUS, SYNCHRONIZED FROM V$ARCHIVE_DEST_STATUS; -
【分】检查数据已经传输到位
SELECT CLIENT_PROCESS, PROCESS, SEQUENCE#, STATUS FROM V$MANAGED_STANDBY;
查看LGWR那行的SEQUENCE#,然后在主库上,运行
SELECT THREAD#, SEQUENCE#, STATUS FROM V$LOG;
查看相应的SEQUENCE#, 是否与备库一致。 -
【分】检查数据是否已经应用到备库
SELECT CLIENT_PROCESS, PROCESS, SEQUENCE#, STATUS FROM V$MANAGED_STANDBY;
查看MPR0行,如果非APPLYING_LOG,则表示存在问题,不宜切换。
- 总,分,分表示,先查看总,如果总查出来的状态不行,那就查看分
- 查看有没有运行的作业,RMAN备份等,如果有,则停止。
2. 切换操作
-
打开alert log进行监控,
-
RAC等均减少为一个实例
- 查看数据库切换状态
SELECT SWITCHOVER_STATUS FROM V$DATABASE;
如果是TO STANDBY状态,则说明可以进行切换 -
查看数据库当前的会话
SELECT PROGRAM, TYPE FROM V$SESSION WHERE TYPE=’USER’; -
执行切换
ALTER DATABASE COMMIT TO SWTICHOVER TO PHYSICAL STANDBY WITH SESSION SHUTDOWN; -
打开主库
ALTER DATABASE OPEN; -
备库上重新启动,并进行同步
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT;
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29757574/viewspace-2637157/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29757574/viewspace-2637157/