欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

ORACLE DATAGUARD 日志传输状态监控

程序员文章站 2022-08-17 15:51:49
ORACLE DATAGUARD的主备库同步,主要是依靠日志传输到备库,备库应用日志或归档来实现。当主、备库间日志传输出现GAP,备库将不再与主库同步。因此需对日志传输状态进行监控,确保主、备库间日志没有GAP,或发现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;