Oracle GoldenGate

   GoldenGate TDM(交易數據管理)軟件是一種基於日誌的結構化數據複製軟件,它通過解析源數據庫在線日誌或歸檔日誌獲得數據的增刪改變化,再將這些變化應用到目標數據庫,實現源數據庫與目標數據庫同步、雙活。GoldenGate TDM 軟件可以在異構的IT基礎結構(包括幾乎所有常用操作系統平臺和數據庫平臺)之間實現大量數據亞秒一級的實時複製


一、OGG工作模式:

650) this.width=650;" src="http://img1.51cto.com/attachment/201308/140915683.png" title="1.png" />


二、OGG進程。

650) this.width=650;" src="http://img1.51cto.com/attachment/201308/140939131.png" title="2.png" />

Manager進程是GoldenGate的控制進程,運行在源端和目標端上。它主要作用有以下幾個方面:啓動、監控、重啓Goldengate的其他進程,報告錯誤及事件,分配數據存儲空間,發佈閥值報告等。在目標端和源端有且只有一個manager進程.


Extract運行在數據庫源端,負責從源端數據表或者日誌中捕獲數據。Extract的作用可以

按照階段來劃分爲:

– 初始時間裝載階段:在初始數據裝載階段,Extract進程直接從源端的數據表中抽取數據

– 同步變化捕獲階段:初始數據同步完成以後,Extract進程負責捕獲源端數據的變化(DML和DDL)


pump進程(可選)運行在數據庫源端,其作用是將源端產生的本地trail文件,把trail以數據塊的形式通過TCP/IP 協議發送到目標端,這通常也是推薦的方式。pump進程本質是extract進程的一種特殊形式,如果不使用trail文件,那麼extract進程在抽取完數據以後,直接投遞到目標端,生成遠程trail文件。


Server Collector進程與 Pump進程對應,這個進程不需要引起我的關注,因爲在實際操作過程中,無需我們對其進行任何配置,所以對我們來說它是透明的。它運行在目標端,其 任務就是把Extract/Pump投遞過來的數據重新組裝成遠程ttrail文件。


Replicate進程,通常我們也把它叫做應用進程。運行在目標端,是數據傳遞的最後一站,負責讀取目標端trail文件中的內容,並將其解析爲DML或 DDL語句,然後應用到目標數據庫中。


三、OGG checkpoint

650) this.width=650;" src="http://img1.51cto.com/attachment/201308/142334219.png" title="3.png" />


checkpoint用於抽取或複製失敗後(如系統宕機、網絡故障),抽取、複製進程重新定位抽取或者複製的起點。


extract進程在數據源和trail文件中都會標識checkpoint,Replicat只會在trail文件中標示checkpoint。


存放在GGHOME\dirchk下的文件中


存放在數據庫指定的表中,需要單獨配置



四、GoldenGate關鍵特性

1.對生產系統影響小

– 實時讀取交易日誌,以低資源佔用實現大交易量數據實時複製


2.以交易爲單位複製,保證交易一致性


3.高性能

– 智能的交易重組和操作合併

– 使用數據庫本地接口訪問

– 並行處理體系


4.靈活的拓撲結構

– 支持一對一、一對多、多對一、多對多和雙向複製等


5.支持數據過濾和轉換

– 可以自定義基於表和行的過濾規則.

– 可以對實時數據執行靈活影射和變換.


6.提供數據壓縮和加密

– 降低傳輸所需帶寬,提高傳輸安全性.


五、OGG如何寫trail文件


1.爲了減小系統的I/O負載,抽取的數據通過大字節塊的方式存儲到trail文件中。同時爲了提高兼容性,存儲在trail文件中的數據以通用數據模式(一種可以在異構數據庫之間進行快速而準確轉換的模式)存儲。

2.默認情況下,extract進程以追加的方式寫入trail文件。當extract進程異常終止時,trail文件會被標記爲需要恢復。當extract重新啓動時會追加checkpoint之後的數據追加到該trail文件中。



本文出自 “無雙城” 博客,請務必保留此出處http://929044991.blog.51cto.com/1758347/1275700

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章