DG环境的主库报:ORA-00340: IO error processing online log of thread

一套RAC(ASM) + RAC(ASM)的Dataguard环境,为了做automatic block repair实验,在Dataguard环境的备库上做了一些测试,主要的步骤是将备库中的某个数据文件从ASM复制到文件系统中,进行数据块破坏,然后将损坏的数据文件复制回ASM中。

dd if=/dev/zero of=/tmp/testdg.dbf bs=8192 seek=131 conv=notrunc count=1

ASMCMD> cp /tmp/testdg.dbf +DG_DATA

将损坏的数据文件复制回ASM后,需要修改控制文件的内容,将该数据文件重新指向到新复制回ASM的那个文件。

alter database rename file '+DG_DATA/sdswhxcx/datafile/test.301.1119639739' to'+DG_DATA/testdg.dbf';

 

到此,备库的坏块已经准备就绪,在验证automatic block repair时,主库的alert日志中出现了如下错误信息:

Mon Nov 07 20:15:22 2022
LNS: Attempting destination LOG_ARCHIVE_DEST_2 network reconnect (340)
LNS: Destination LOG_ARCHIVE_DEST_2 network reconnect abandoned
Error 340 for archive log file 3 to 'sdswhxcxdg_tns'
Errors in file /u01/app/oracle/diag/rdbms/sdswhxcx/sdswhxcx2/trace/sdswhxcx2_nsa2_4252.trc:
ORA-00340: IO error processing online log of thread
LNS: Failed to archive log 3 thread 2 sequence 25 (340)

 

针对这个故障,在《Archive log shipping fails with ORA-340 (Doc ID 2754341.1)》一文中有详细的说明。在备库上rename数据文件,会导致备用重做日志(standby redo log)关闭,这就是在主数据库上看到ORA-340错误的原因。针对这个缺陷,当前无补丁,需要升级到12.1进行解决。也可以选择忽略这个错误信息,主库的日志会重新传输。

 

posted @ 2022-11-08 16:50  石云华  阅读(284)  评论(0编辑  收藏  举报