GolgenGate原理說明

oracle_mao發表於2014-01-13

對於golgengate,它並沒有dataguard那麼普遍。ogg需要單獨下載軟體包安裝,而且主庫和備庫都需要下載,而且要求ogg的版本一樣。實現方式是通過分析源資料庫的線上日誌或者歸檔日誌,來達到資料同步的目的,通過源資料庫的捕捉程式將資料傳送到目標資料庫的投遞程式,然後再轉化為sql在目標資料庫執行。捕捉程式每次讀完log或者歸檔的資料資訊後並轉化為自己的格式,再通過tcp協議傳送到目標端後,都會發生一個檢查點,記錄當前捕捉log的位置。帶捕捉程式中止或者異常後,再次啟動時可以繼續接著捕捉。在資料傳輸過程中,可以達到9:1的壓縮率來傳送,速度很快。而且並不是單純的傳送日誌或者歸檔檔案,而且傳送gg自己的格式的資訊。大概是日誌檔案內容的1/4.
種類:可實現一對一單向,一對多單向,一對一雙向,一對多雙向,一對一對多。
如圖所示:
 
GolgenGate原理說明
capture:從redo或歸檔檔案取得db的變更資訊。輸出到trail檔案。
data pump將trail檔案傳輸到遠端機器。
trail檔案:將db變更資訊以邏輯形式儲存的、gg中間檔案。
備註:這裡如果網路好的話,可以不使用trail檔案來儲存中間變更資訊。extract和replicat可以直接實現日誌資訊的傳輸。但如果網路不好,或者由於一些小問題,導致日誌資訊沒有在第一時間傳遞過去,那就需要有那麼一箇中間檔案將日誌資訊儲存起來,待以後傳送。

 GolgenGate原理說明
獲取:以一定間隔讀取redo日誌,獲取變更資訊。
  間隔可以用引數eofdelay或eofdelaycsesc設定。預設1s最小10毫秒。
  變更資訊輸出到本地或者遠端trail檔案。
  滿足extract緩衝區寫滿時或者達到設定的時間時。
 
GolgenGate原理說明
data pump變更資訊的傳送:
另外啟動傳送專用的extract(即datapump),就是先儲存到本地的trail檔案然後傳送
一個extract 兼capture和datapump之職,從redo獲取資訊然後直接傳送到遠端

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

相關文章