OGG資料同步軟體常見問題處理
作者/蘇俊維
作者簡歷
作者現職凌群電腦NSK服務總處系統工程師,主要負責HPE Nonstop 證券、期貨、銀行客戶交易系統維運服務、軟體產品整合服務,專長為HPE NonStop系統整合。
前言
為了在災難發生時避免或縮短業務發生停止等狀況,這時於備援系統NonStop上若隨時有同步及備份相關的資料,就能於最短時間做接手,避免或縮短中斷恢復時間,這時候可以使用Oracle GoldenGate來作為其解決方案。
Oracle GoldenGate簡介
Oracle GoldenGate(以下簡稱OGG)可以運作於Nonstop與各種常用的OPEN作業系統平台與大多數資料庫。
OGG元件說明
一、Oracle GoldenGate Manager:
用於控制、監控並產生報告,以管理 GoldenGate所有元件的process,當Manger停止後,其他元件無法透過介面程式(GGSCI)做啟動(Extract、Replicat、Logger)。
二、Extract:
至logger或audit trail擷取變動的交易資料
將擷取到的交易資料寫至本地或其它機器儲存。
三、Logger:
在未啟用 TMF 的應用程式下,透過library綁定以擷取並處理紀錄。
non-audit trail需藉由logger process記錄應用程式所產生的交易資料後寫入。針對這樣的程式架構,應用程式須綁定GoldenGate library(GGSLIB),Logger才有辦法擷取並記錄應用程式所異動的交易資料並寫進log trail。
四、Collector:
協助在本地與遠端系統之間傳送紀錄。
接收Extract透過TCP/IP傳送過來的資料,並且寫入指定的trail(remote trail) 。
五、Oracle GoldenGate Trails:
萃取後的資料變動記錄檔。
六、Replicat:
將資料變動紀錄處理並複製到目標端。
OGG常見問題處理
一、資料同步延遲(Extract)
假設該元件為Extract 名稱為 ETEST
(1).透過GGSCI介面,執行INFO ALL 確認該元件是否有LAG。
(2).若確認該元件有LAG,可先SEND ETEST,REPORT,確認EXTRACT元件是否還正常回應,若能正常SEND REPORT 代表元件正常。
(3).若確認元件正常,就可以朝系統面或資料面查詢
(4).系統面:確認是否系統資源不夠或競爭,,那這部分有可能是CPU、MEMORY、DISK I/O、網路等等..
(5).資料面:查看是否因為短時間有大量的異動資料寫入,那確實也會造成有LAG時間,這部分就需要查看該元件源頭TRAIL的內容做判斷。
二、資料同步延遲(Replicat)
假設該元件為Replicat 名稱為 RTEST
(1).透過GGSCI介面,執行INFO ALL 確認該元件是否有LAG。
(2). 若確認該元件有LAG,可先SEND RTEST,REPORT,確認REPLICAT元件是否還正常回應,若能正常SEND REPORT 代表元件正常。
(3).若確認元件正常,就可以朝系統面或資料面查詢
(4).系統面;確認是否系統資源不夠或競爭,那這部分有可能是CPU、MEMORY、DISK I/O、網路等等..
(5).資料面:查看是否因為短時間有大量的異動資料寫入,那確實也會造成有LAG時間,這部分就需要查看該元件源頭TRAIL的內容做判斷,
另外,REPLICAT寫入目標可以是FILE也可以是Table,所以造成lag的原因還有可能跟其相關的Table目前的使用與建置有關。
三、non-audit file異動記錄並未被logger 記錄到logger Trail
此狀況通常發生原因為
(1).該檔案並未加入至logger的擷取清單內
解決方式:將其檔案名稱加入至LOGGER的參數檔內
(2).異動該檔案的程式,並未BIND GGSLIB
這部分可以透過介面工具(GGSCI)內下指令INFO PROGRAMS,確認該PROGRAM是否有BIND GGSLIB,最右邊那欄YES or NO
(3).異動該檔案的程式,有BIND GGSLIB,但是 並未BIND到正確路徑底下的GGSLIB
(4).若程式為TNS mode(FILECDOE = 100)
可以透過BIND SHOW SET * FROM “PROGRAM_NAME” 查看
(5).若程式為NATIVE mode(FILECODE= 500 or 800)
可以透過XNOFT;FILE “PROGRAM_NAME”; LA D 查看
結論
上述提到的Oracle GoldenGate 的部分,除了原先的機制外,後續也需要有對應的監看機制,確保OGG能如預期順利執行,於狀況發生時能第一時間介入處理,使其能達到7x24小時不間斷的運作。
參考資料
ORACLE GOLDENGATE 23ai: ORACLE GOLDENGATE ARCHITECTURE
ORACLE GOLDENGATE 12c: ORACLE GOLDENGATE ARCHITECTURE