关于Oracle Dataguard 日志传输状态监控问题
程序员文章站
2023-12-17 20:08:58
oracle dataguard的主备库同步,主要是依靠日志传输到备库,备库应用日志或归档来实现。当主、备库间日志传输出现gap,备库将不再与主库同步。因此需对日志传输状态...
oracle dataguard的主备库同步,主要是依靠日志传输到备库,备库应用日志或归档来实现。当主、备库间日志传输出现gap,备库将不再与主库同步。因此需对日志传输状态进行监控,确保主、备库间日志没有gap,或发现gap后及时处理。除了在告警日志中查看日志同步情况外,还可以通过查看相关视图来对日志传输状态进行监控。
1、主、备库查看当前日志状况
select sequence#,status from v$log;
2、备库查看rfs接收日志和mrp应用日志同步主库情况
select process, sequence#, status, delay_mins from v$managed_standby;
3、察看备库是否和主库同步
select sequence#,status from v$log; select archived_thread#,archived_seq#,applied_thread#,applied_seq# from v$archive_dest_status;
4、备库查看已经归档的redo
select registrar,creator,thread#,applied,sequence#,first_change#,next_change#, completion_time from v$archived_log;
5、备库查看已经应用的redo
select thread#,sequence#,first_change#,next_change# from v$log_history;
6、主、备库查看是否有gap
select status,gap_status from v$archive_dest_status where dest_id=2;
备库查看
select * from v$archive_gap;
主备库查询异常信息
select t.status,t.error from v$archive_dest t;
【实验总结】
通过上面这6种方法,都可以对主备库间日志传输情况进行监控。
如果日志传输出现代沟(gap),就需要及时排查问题,必要时还可以采取手工处理gap措施。
针对6
在主库中查询缺失的日志的所在路径和名称
select name from v$archived_log where thread#=1 and dest_id=1 and sequence# between 99 and 109;
拷贝到备库的相应目录
oracle@p1a:/home/oracle/arch>scp orcl_53716_710350416.log ss1:/home/oracle/archive_gap/
手工注册日志文件。
sql> alter database register logfile '/home/oracle/archive_gap/orcl_53415_710350416.log'; database altered.
再次查看
sql> select * from v$archive_gap;
总结
以上所述是小编给大家介绍的关于oracle dataguard 日志传输状态监控问题,希望对大家有所帮助