[Oracle] Data Guard系列(6)-角色转换(二)

2014-11-24 16:47:27 · 作者: · 浏览: 3
M V$ARCHIVE_GAP;
THREAD# LOW_SEQUENCE# HIGH_SEQUENCE#
---------- ------------- --------------
1 90 92
上例表示备库缺失90,91,92归档日志,手动把它们从主库拷贝过来并在备库注册:
[sql]
SQL> ALTER DATABASE REGISTER PHYSICAL LOGFILE 'filespec1';
4)重复第2、3步,直至没有GAP为止,否则会有数据丢失
5)备库停止日志应用
[sql]
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
6)应用所有还未应用的日志
执行下列语句应用所有日志:
[sql]
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINISH;
如果上述语句执行没有错误,则到下一步;如果有错误,则根据具体错误信息具体分析,错误解决之后,再重新执行上诉语句;如果错误无法解决,执行下述语句继续Failover,但部分数据丢失了。
[sql]
SQL> ALTER DATABASE ACTIVATE PHYSICAL STANDBY DATABASE;
7)确认备库已准备切换成主库
[sql]
SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;
SWITCHOVER_STATUS
-----------------
TO PRIMARY
8)切换物理备库为新的主库
[sql]
SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY WITH SESSION SHUTDOWN;
切换成功后,打开新的主库并验证:
[sql]
SQL>alter database open;
SQL>select database_role from v$database;
DATABASE_ROLE
----------------
PRIMARY