故障描述:

  主库异常下线,需要将备库强制启动为主库,切断日志时提示需要介质恢复,执行介质恢复后,再激活日志即可进行切换

1、  执行alter database recover managed standby database finish force;

发现需要恢复介质

2、  确认归档日志目录中是否存在最近的日志

检查发现该目录中只有最开始建立时的3个日志,没有1月22日调整时的日志,检查发现是因为计划任务中有删除归档日志这个任务导致,至少说明后面的日志都已应用

3、  确认归档日志文件是否都已应用

检查SELECT THREAD#, LOW_SEQUENCE#, HIGH_SEQUENCE# FROM V$ARCHIVE_GAP;

发现没有数据,说明所有日志当时都已应用完

4、  基于以上判断,说明可以强制启动数据库,执行以下命令

--如果日志确定丢失,可以采用激活方式,单这样会有数据丢失。
--ALTER DATABASE ACTIVATE PHYSICAL STANDBY
DATABASE;

5、发现执行上述命令报错

ORA-10457: cannot close standby database due to active media
recovery

6、由于提示需要恢复,因此执行了下面的命令

recover
managed standby database cancel;这时提示正常完成了

7、这时重新执行第四步,发现也可以正常执行了,检查数据库发现状态已变更为MOUNTD的状态。至此数据库恢复完成

05-14 13:47