归档日志缺少导致ogg同步出现问题,解决办法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了归档日志缺少导致ogg同步出现问题,解决办法相关的知识,希望对你有一定的参考价值。
迁移数据库的过程中,最后启动ggs
启动完ggs后发现抽取进程报错,查看日志发现报错如下:
2016-03-16 00:15:42 INFO OGG-01517 Position of first record processed for Thread 2, Sequence 17643, RBA 793616, SCN 1389.3430888557, Mar 15, 2016 11:18
:51 PM.
Source Context :
SourceModule : [er.redo.ora.rtc]
SourceID : [/scratch/aime1/adestore/views/aime1_adc4150256/oggcore/OpenSys/src/app/er/redo/oracle/rtc.c]
SourceFunction : [RTC_producer]
SourceLine : [2088]
ThreadBacktrace : [6] elements
: [/opt/ggs/libgglog.so(CMessageContext::AddThreadContext()+0x1e) [0x2b2b07c7206e]]
: [/opt/ggs/libgglog.so(CMessageFactory::CreateMessage(CSourceContext*, unsigned int, ...)+0x2cc) [0x2b2b07c6e44c]]
: [/opt/ggs/libgglog.so(_MSG_ERR_ER_GENERIC_FAILURE(CSourceContext*, char const*, CMessageFactory::MessageDisposition)+0x31) [0x2b
2b07c562a9]]
: [/opt/ggs/extract(RTC_producer+0x4e1) [0x71fcc1]]
: [/lib64/libpthread.so.0 [0x33a8c0673d]]
: [/lib64/libc.so.6(clone+0x6d) [0x33a80d44bd]]
2016-03-16 00:16:03 ERROR OGG-01028 Opening ASM file +DGRECOVERY/qfangsh/qfangsh_arch_1_20021_837910999.log in DBLOGREADER mode: (308) ORA-00308: cannot
open archived log ‘+DGRECOVERY/qfangsh/qfangsh_arch_1_20021_837910999.log‘
ORA-17503: ksfdopn:2 Failed to open file +DGRECOVERY/qfangsh/qfangsh_arch_1_20021_837910999.log
ORA-15173: entry ‘qfangsh_arch_1_20021_837910999.log‘ does not exist in directory ‘qfangsh‘.
发现是由于一个归档日志找不到触发的错误。
因为我们在迁移数据的时候是通过rman在源库做0级备份,然后再目标库restore。
然后通过1级备份和归档日志备份recover到最新状态。
而ogg在停库前已经停了,重新打开ogg的时候需要之前的归档日志才能同步。
本来我的归档日志是通过rman全部在备库恢复了的,但是源库在关机前又产生了一个归档,从而导致此问题的发生。
解决步骤:
1. 从源库ASM实例中获取需要的归档日志到本地磁盘。
2. scp到目标库本地磁盘
3. cp到asm中相应的位置
cp /arch/rmanbackup/thread_1_seq_20021.9753.906592877 +DGRECOVERY/qfangsh/qfangsh_arch_1_20021_837910999.log
4. 如果归档日志已经通过rman备份,则可以通过restore命令进行恢复,如下:
restore archivelog from logseq 20021 until logseq 20021 thread 1;
5. 重启ogg进程,问题解决
以上是关于归档日志缺少导致ogg同步出现问题,解决办法的主要内容,如果未能解决你的问题,请参考以下文章