手记

ORACLE 11G DATAGUARD 日志中断处理方案


1.现象:

今天在检查数据库时发现使用dataguard后,由于一些原因,出现了备用库日志中断的情况,检查主库与备用库时日志序列分别如下:

主库90.137(1323以后日志均未应用重做):

select sequence#,applied from v$archived_log order by sequence#;

p_w_picpath

备用库90.138(因为1324-1384日志出现中断,1385序列后日志正常传送过来却无法应用重做)

select sequence#,applied,name from v$archived_log order by sequence#;

p_w_picpath

2.分析:

经过查找发现由于90.138这台机器在前几天晚上三点的时候自动做了系统更新然后重启,而数据库服务没有及时开起来,导致中间一段日志出现丢失.

3.解决方法:

a.从主库将中断的日志复制至从库:

因为出现了日志中断,最直接的原因是主库的日志文件没有传送过来,因此首先想到的是把主库137没有传送过来的日志复制过来,在主库的归档日志目录下将1_1324_705238277.dbf--1_1584_705238277.dbf复制到从库138的e:\log目录下

b:查看从库归档日志序列是否有变化:

此时通过select sequence#,applied,name from v$archived_log order by sequence#;查询发现在从库的日志列表中并没有出现刚才所复制的归档日志.

p_w_picpath 

c:将复制过来的归档日志进行注册:

oracle并不会主动去扫描日志目录下多了哪些日志文件,所以需要我们手工将这些复制过来的归档日志进行注册

执行alter database register logfile ‘e:\log\1_1324_70523277.DBF’;

一直到e:\log\1_1584_70523277.DBF

d.重新应用重做

等所有归档日志都注册成功后,再运行

alter database recover managed standby database disconnect from session;

从新复制过来的日志开始应用重做,几分钟之后,所有日志全部应用成功,data guard又开始恢复正常.

从库90.138:

p_w_picpath

至此data guard日志中断问题得以解决.

©著作权归作者所有:来自51CTO博客作者ttzztt的原创作品,谢绝转载,否则将追究法律责任

ORACLE职场休闲ORACLE


0人推荐
随时随地看视频
慕课网APP