ORACLE OGG引數修改引起佇列檔案異常導致抽取程式無法啟動

清風艾艾發表於2022-01-18

今天一同事做oracle ogg到mysql的資料同步搭建,出現ogg的抽取程式無法啟動問題。經過一番排查,發現ogg同一個佇列檔案,抽取程式使用了不同的引數啟動,引起抽取佇列檔案異常導致抽取程式無法啟動。

一、問題現象

OGG配置搭建的過程中,多次嘗試重啟OGG抽取程式,一直處於abend狀態。

GGSCI (orclogg as OGG@orclogg) 76> info all
Program     Status      Group       Lag at Chkpt  Time Since Chkpt
MANAGER     RUNNING                                           
EXTRACT     ABENDED     E1          00:00:00      01:53:13    
EXTRACT     ABENDED     P1          00:00:00      01:49:23    
EXTRACT     STOPPED     PUMP_001    00:00:00      01:03:19    
EXTRACT     STOPPED     REP_001     00:00:00      01:03:14

二、問題分析

檢視抽取程式E1的日誌,有時候E1的日誌會很長,建議重新啟動一次,方便檢視錯誤日誌。

2022-01-18 15:16:24  INFO    OGG-01516  Positioned to (Thread 1) Sequence 79, RBA 915761680, SCN 0.0 (0), 2022 M01 18 15:16:04.
Source Context :
  SourceModule            : [er.extract.recovery]
  SourceID                : [/scratch/aime/adestore/views/aime_adc00jza/oggcore/OpenSys/src/app/er/extract/extrecovery.cpp]
  SourceMethod            : [recParseLastCommitPos]
  SourceLine              : [452]
  ThreadBacktrace         : [12] elements
                          : [/home/oracle/goldengate/ogg/oggsoft2/extract(ggs::gglib::MultiThreading::MainThread::Run(int, char**))]
                          : [/home/oracle/goldengate/ogg/oggsoft2/extract(_ZN3ggs5gglib14MultiThreading10MainThread3RunEiPPc+0xb5) [0x83e875]]
                          : [/home/oracle/goldengate/ogg/oggsoft2/extract(ggs::gglib::MultiThreading::Thread::RunThread(ggs::gglib::MultiThreading::Thread::ThreadArgs*))]
                          : [/home/oracle/goldengate/ogg/oggsoft2/extract()]
                          : [/home/oracle/goldengate/ogg/oggsoft2/extract(_ZN3ggs5gglib14MultiThreading10MainThread3RunEiPPc+0xb5) [0x83e875]]
                          : [/home/oracle/goldengate/ogg/oggsoft2/extract()]
                          : [/home/oracle/goldengate/ogg/oggsoft2/extract(ggs::gglib::MultiThreading::MainThread::Run(int, char**))]
                          : [/home/oracle/goldengate/ogg/oggsoft2/extract(ggs::gglib::MultiThreading::Thread::RunThread(ggs::gglib::MultiThreading::Thread::ThreadArgs*))]
                          : [/home/oracle/goldengate/ogg/oggsoft2/extract(ggs::gglib::MultiThreading::MainThread::Run(int, char**))]
                          : [/home/oracle/goldengate/ogg/oggsoft2/extract(main)]
                          : [/home/oracle/goldengate/ogg/oggsoft2/extract()]
                          : [/home/oracle/goldengate/ogg/oggsoft2/extract()]
2022-01-18 15:16:24  ERROR   OGG-06601  Mismatch between the length of seqno from checkpoint (6) and recovery (9) for extract trail /home/oracle/goldengate/ogg/oggsoft2/dirdat/e1.
2022-01-18 15:16:24  INFO    OGG-01517  Position of first record processed for Thread 1, Sequence 79, RBA 915761680, SCN 0.15107058 (15107058), 2022 M01 18 15:16:14.
2022-01-18 15:16:24  ERROR   OGG-01668  PROCESS ABENDING.

日誌中的關鍵錯誤資訊:ERROR   OGG-06601  Mismatch between the length of seqno from checkpoint (6) and recovery (9) for extract trail /home/oracle/goldengate/ogg/oggsoft2/dirdat/e1.由日誌資訊可以看出/home/oracle/goldengate/ogg/oggsoft2/dirdat/e1佇列檔案在多次重啟過程中,已經出現了不一致而且無法恢復的情況。經過溝通得知,同事是初步配置搭建OGG,過程中多次修改OGG抽取程式的引數,起初抽取程式可以執行,後來abend之後無法成功啟動。根據報錯日誌提示,需要刪除佇列檔案/home/oracle/goldengate/ogg/oggsoft2/dirdat/e1,設定抽取程式從當前位置開始抽取,並重啟抽取程式。

三、問題處理

--刪除佇列檔案
 rm -rf /home/oracle/goldengate/ogg/oggsoft2/dirdat/e1
--設定抽取程式e1從當前redo當前位置開始抽取
GGSCI (orclogg as OGG@orclogg) 82> alter extract E1 begin now;
EXTRACT altered.
--重啟抽取程式
GGSCI (orclogg as OGG@orclogg) 83> start E1
Sending START request to MANAGER ...
EXTRACT E1 starting
--檢視抽取程式E1的狀態
GGSCI (orclogg as OGG@orclogg) 84> info all
Program     Status      Group       Lag at Chkpt  Time Since Chkpt
MANAGER     RUNNING                                           
EXTRACT     RUNNING     E1          00:00:00      00:00:12    
EXTRACT     ABENDED     P1          00:00:00      01:55:47    
EXTRACT     RUNNING     PUMP_001    00:00:00      00:00:07    
EXTRACT     RUNNING     REP_001     00:00:00      00:00:06

四、總結

在做OGG資料遷移或者資料同步之前,建議先對OGG的理論知識做學習,對OGG有初步的瞭解,並在配置過程中透過metalink官方網站查詢問題及問題處理過程。





來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29357786/viewspace-2852878/,如需轉載,請註明出處,否則將追究法律責任。

相關文章