歸檔日誌缺少導致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進程,問題解決


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章