当前位置:Gxlcms > mysql > OracleDataGuard的日志FALgap问题

OracleDataGuard的日志FALgap问题

时间:2021-07-01 10:21:17 帮助过:49人阅读

在Oracle Data Guard环境中,一个备库出现问题,需要重做。因为之前的配置环境都是好的,只需将主库的全库备份恢复到备库即可。但

在Oracle Data Guard环境中,一个备库出现问题,需要重做。因为之前的配置环境都是好的,只需将主库的全库备份恢复到备库即可。但在数据文件还原完成后,介质恢复时在alert.log中提示有gap的日志文件,RFS进程继续去提取主库上的其他的归档日志文件。

alert.log文件中提示信息如下:

TueApr 9 14:20:56 2013

MediaRecovery Log +LOGDG/servdg2/archivelog/2013_04_09/thread_1_seq_71989.3551.812298053

MediaRecovery Waiting for thread 2 sequence 68042

Fetchinggap sequence in thread 2, gap sequence 68042-68094

TueApr 9 14:20:58 2013

RFS[1]:Archived Log:

'+LOGDG/servdg2/archivelog/2013_04_09/thread_2_seq_68052.2968.812298059'

TueApr 9 14:21:31 2013

Fetchinggap sequence in thread 2, gap sequence 68042-68051

TueApr 9 14:22:06 2013

FAL[client]:Failed to request gap sequence

GAP - thread 2 sequence 68042-68051

DBID 3658273059 branch 717104091

FAL[client]:All defined FAL servers have been attempted.

-------------------------------------------------------------

Check thatthe CONTROL_FILE_RECORD_KEEP_TIME initialization

parameteris defined to a value that is sufficiently large

enough tomaintain adequate log switch information to resolve

archiveloggaps.

-------------------------------------------------------------

备库因日志中断而不能继续进行介质恢复。我们的问题就是如何将这些日志文件找回来。

在主库中,判断归档日志状况。

select *from v$archived_log b where b.SEQUENCE#>=68042 and b.THREAD#=2 andb.SEQUENCE#<=68051 and b.DEST_ID=1 and b.DELETED='YES';

通过这个SQL,确认这些归档日志已经被删除了。

归档日志文件通过RMAN工具定期删除的,因为还原数据文件过程很长,在还原完成后,归档日志已经备份移走了。

RMAN>list backup of archivelog from sequence 68042 until sequence 68051 thread 2;

在rman备份集中找到结果集,使用restore archivelog还原。

RMAN>restore archivelog from sequence 68042 until sequence 68051 thread 2;

这样,备库上又能继续获取这些归档日志文件了。如果没有,在主库上将指向该备库的log_archive_dest_state_*先defer再enable一下,算是激活这个服务。

因为主库是RAC的,所以会有多个实例会提示这种错误,依次解决即可。

linux

人气教程排行