(3)检查并解决目标备库没有缺失的归档日志SQL SELECT THREAD#, LOW_SEQUENCE#, HIGH_SEQUENCE# FROM V$ARCHIVE_GAP; THREAD# LOW_SEQUENCE# HIGH_SEQUENCE# ------------- ----- 1 90 92如上步说明一样:如果可能,可以从主库copy最近备库缺失的归档日志文件到备库服务器,然后在备库注册归档日志,如下: SQL ALTER DATABASE REGISTER PHYSICAL LOGFILE 'filespec1'; (4)重复步骤(3)直到缺失的日志解决完成。 (5)在目标备库停止日志应用SQL ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL; (6)在目标备库完成应用所有收到的日志SQL ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINISH;如果上面的语句执行成功,直接到第(7)步。如果有报错,尝试解决错误后然后再试执行上面的语句。如果在第(3),(4)没有成功解决缺失归档的问题,在这步也会报错。如果报错不能解决,failover可能造成数据丢失,然后执行下面的语句: SQL ALTER DATABASE ACTIVATE PHYSICAL STANDBY DATABASE;注:执行完此ACTIVATE语句后,直接执行第(9)步。 (7)验证standby是否能被切换成primary角色. SQL SELECT SWITCHOVER_STATUS FROM V$DATABASE; SWITCHOVER_STATUS ----- TO_PRIMARY 1 row selected注:当结果是TO_PRIMARY或SESSIONS ACTIVE时,主库才可以切换成standby角色。