OGG 使用原有抽取進程,新增投遞進程出現的問題
原來在集成平台到查詢庫的ogg鏈路,已經用了很多天且同步正常。
現在我配置了由集成平台到分發庫的鏈路,具體做法是在集成平台庫增加一個投遞分發庫的進程,現在所有的進程都啟動正常。但是發現並不能同步操作,主要是在投遞進程並未同步響應。。。
除了進程名,進程文件名ip我都是copy到查詢庫進程的參數。
查看投遞進程的report 發現唯一值得看的是 OGG-01052 No recovery is required for target file ./dirdat/***, at RBA 0 (file not opened).這個提示,但還是找不到解決方法;
后來咨詢了大神,原來我新增投遞進程,得手工修改投遞進程隊列文件號 應該與 抽取進程一致;
info extract ESB_PZ7 查詢seqno;
現在我配置了由集成平台到分發庫的鏈路,具體做法是在集成平台庫增加一個投遞分發庫的進程,現在所有的進程都啟動正常。但是發現並不能同步操作,主要是在投遞進程並未同步響應。。。
除了進程名,進程文件名ip我都是copy到查詢庫進程的參數。
查看投遞進程的report 發現唯一值得看的是 OGG-01052 No recovery is required for target file ./dirdat/***, at RBA 0 (file not opened).這個提示,但還是找不到解決方法;
后來咨詢了大神,原來我新增投遞進程,得手工修改投遞進程隊列文件號 應該與 抽取進程一致;
info extract ESB_PZ7 查詢seqno;
alter extract PSB_PZ7,extseqno 861, extrba 0 修改seqno
------------------------------------------------------------------------------------------------------------
此類型解決方法參考,以下轉載
------------------------------------------------------------------------------------------------------------
此類型解決方法參考,以下轉載
① 停止所有Data Pump和Replicat,針對所有的Extract記錄其Write Checkpoint的隊列Seqno。
② 對於每個Extract向下滾動一個隊列:
示例9-6:
ALTER EXTRACT [name], ETROLLOVER
啟動Extract查看是否滾動到了下一個隊列,記錄其新隊列seqno,應當是舊隊列號+1。
③ 修改Data Pump從新的隊列開始傳輸:
示例9-7:
ALTER EXTRACT [pump_name], EXTSEQNO ##### EXTRBA 0
重啟Data Pump查看是否能夠重啟成功並從新的隊列傳輸。
④ 修改Replicat參數文件,加入或者打開HANDLECOLLISIONS,如果有GROUPTRANSOPS和MAXTRANSOPS請注釋掉,啟動Replicat,觀察其是否能夠讀取新傳輸過來的隊列如Replicat無法自動滾動到下一個隊列,需要通過如下命令手工滾動:
示例9-8:
alter replicat [replicat_name], EXTSEQNO ##### EXTRBA 0
等待Replicat處理到結尾沒有延遲時,可以關閉HANDLECOLLISIONS和恢復原來的GROUPTRANSOPS和MAXTRANSOPS參數。
⑤ 重新啟動Replicat即可恢復正常復制