SharePlex capture process讀不到Redo/Archive log 該怎麼辦?




問題: SharePlex event_log出現如下訊息,代表Capture process不能讀Redo/archive log

Error    2019-08-11 11:15:19.830412 5062 1624037120 Capture stopped: Internal error encountered; cannot continue  (capturing from SPORBIT)
Error    2019-08-11 11:15:19.824759 5062 1624037120 Capture: [SP-OCT01001] Unable to find archivelog with sequence#: 46819 (thread: 4).  <CAUSE> SharePlex was unable to locate the redo/archive log for sequence 46819 in the database location or under the directory defined by SP_OCT_ARCH_LOC parameter.  <ADVICE> Restore this archivelog to archive location if missing or set the file's location using SP_OCT_ARCH_LOC.  Make sure it is not compressed then restart capture.  See 'http://advice.shareplex.com/SP-OCT01001' for additional advice and support.   (capturing from SPORBIT) [module oct]

解決方法
1.      如果Oracle Archive log有備份,則設定SharePlex SP_OCT_ARCH_LOC參數指定Archive log 位置,只要能成功讀取,就能追上資料。
2.      跳過讀不到的Archive log號碼,讓Capture 啟動,但是會有風險就是資料會不一致,會須要重新做所有資料的初始化匯入。
步驟一:停止capture process
步驟二:更新Oracle 內部的SharePlex帳號底下的table資料內容。

        SharePlex 8.6.6版本:
        update shareplex_actid
        set seqno = <目前還存在的Archive log 號碼>,
        offset =0,
        log_start_offset =0
        where instance_name = ‘Oracle instance name’
        ;
  commit;

       SharePlex 9版本:
       update shareplex_actid
       set seqno = <目前還存在的Archive log 號碼>,
       log_offset =0,
       log_start_offset =0
       where instance_name = ‘Oracle instance name’
       ;
commit;

步驟三:重新啟動capture process
就樣就可以看到SharePlex process正常運作。

留言

這個網誌中的熱門文章

MSSQL 瘦身 : 壓縮資料庫

InTrust 自動幫您蒐集 AD 帳號的登入/登出紀錄,長時間保存並保護

[SAP] 什麼是SAP? R/3 and S/4 是什麼意思? 差別在哪? (勿轉臉書)