昨天,Standby数据库一根内存报错,同事在处理时OS突然宕机,重新开机后内存恢复正常,启动日志Apply正常.今天上班,AP人员反映Report抓不到资料(report是用Standby的).检查DB发现Standby没有Apply log.查看日志没有发现异常.
SQL>select event_time,status,event from dba_logstdby_events
ORA-16128: User initiated stop apply successfully completed
ORA-16111: log mining and apply setting up
SQL>SELECT TYPE, STATUS_CODE, STATUS FROM V$LOGSTDBY_PROCESS;
ORA-16127: stalled waiting for additional transactions to be applied
SQL>SELECT TYPE, HIGH_SCN, STATUS FROM V$LOGSTDBY;
ORA-16240: Waiting for logfile ARC001_064418511614697.ARC
发现备库上缺少ARC001_064418511614697.ARC--ARC001_064418511614717.ARC,就是DB宕机时产生的LOG,手动COPY过来,shutdown DB,,重新Startup ,再重新Apply,仍然不行.在网上找了很久,没有相关解决方式,在 metalink上也没有找到.
SQL>SELECT file_name, sequence#, first_change#, next_change#, TIMESTAMP,
dict_begin, dict_end, thread#
FROM dba_logstdby_log
ORDER BY sequence#;
FILE_NAME SEQUENCE# FIRST_CHANGE# NEXT_CHANGE# TIMESTAMP DICT_BEGIN DICT_END THREAD#
D:\MES\ARCHIVE\ARC001_064418511614695.ARC 14695 55452450043 55452555758 2008/11/6 上午 08:41:04 NO NO 1
D:\MES\ARCHIVE\ARC001_064418511614696.ARC 14696 55452555758 55452674627 2008/11/6 上午 08:46:05 NO NO 1
D:\MES\ARCHIVE\ARC001_064418511614717.ARC 14717 55455038222 55455134353 2008/11/6 上午 10:31:01 NO NO 1
D:\MES\ARCHIVE\ARC001_064418511614718.ARC 14718 55455134353 55455249641 2008/11/6 上午 10:36:01 NO NO 1
D:\MES\ARCHIVE\ARC001_064418511614719.ARC 14719 55455249641 55455357972 2008/11/6 上午 10:41:01 NO NO 1
发现手工复制过来的log file没有注册,到是后面来的log注册了,估计是个BUG.下以下命令
SQL> ALTER DATABASE REGISTER logfile 'D:\MES\ARCHIVE\ARC001_064418511614697.ARC';
注册成功,继续将未注册的Log手工注册完,
SQL>SELECT SESSION_ID, STATE FROM V$LOGSTDBY_STATE;
系统开始Apply.