您好,登錄后才能下訂單哦!
1、單項復制結構
源數據系統--(Capture)-->隊列文件---(Pump)-->網絡(Internet,Intranet)-->隊列文件--(Delivery)-->目標數據系統
這種結構用于將數據從單個系統復制到一個或多目標系統。
三個進程:
extract (capture) 進程,
data pump 進程,
replicate (delivery)進程。
隊列文件為二進制文件。
2、雙向復制(雙活)結構
這種結構可以用于系統的高可用,類似ADG技術,但是OGG和ADG技術相似,用于的場景各不相同。
3、實時數據倉庫結構
應用企業所有數據進行整合在一個庫中,類似于Hadoop,數據可進一步應用于大數據技術。
4、實時進行數據分發
可以從一個數據源端將數據或者部分數據分發到不同地理位置的目標數據源。
5、通過信息進行數據分發
通過富文本進行數據傳輸,如使用Microsoft Excel,將數據分發到不同數據庫類型。
6、理解SCN(System Change Numbers)
在Oracle GoldenGate 中將SCN作為復制進程對Oracle數據庫的事務進行復制的唯一標識。在Microsoft SQL Server和MySQL同樣擁有相似的Number。
在啟動捕獲進程以后,記錄SCN號。可以通過v$database視圖或者dbms_flashback包進行獲取。
獲取SCN的SQL:
SQL> select current_scn from v$database;
SQL> select dbms_flashback.get_system_change_number from dual;
注:在RAC環境中使用gv$database視圖獲取SCN。
7、OGG進程
(1)管理進程
管理進程是OGG所有進程的主進程,只要有復制進程存在,在相關的每個系統中必須始終運行,主要功能如下:
a、啟動和重啟OGG進程;
b、啟動動態進程;
c、操作進程的端口號;
d、隊列文件的管理;
e、事件,錯誤和閥值報告
(2)收集進程
當OGG在線同步進行時,運行在目標數據端(交付端)的后臺進程。主要任務包括:
a、對來自源端抽取進程的管理器進行端口的掃描和限制。
b、接收來自源端抽取事務,并將數據寫入隊列文件。
OGG為每一個抽取進程分配一個收集進程。抽取進程結束時,收集進程也隨之結束。
(3)捕獲進程
在OGG中抽取進程用于在數據發生變化時,從在線事務處理日志中(如:oracle的redolog)獲取數據的變化,實現數據同步。
一次抽取可以使用兩種方法進行配置:
a、initial load:用于數據的初始化,一般是靜態數據的導入,經常使用specialrun 參數。
b、數據變更同步:當數據發生變化時從源端同步到目標端。
經典型捕獲進程有內存的需求,每個捕獲進程需要25M~55M的內存。
整合型捕獲進程在11.2.0.2中引入并僅僅支持Oracle11.2.0.3及更高版本的數據庫。在Oracle數據庫中運行整合型捕獲與日志挖掘進程進行互動。
在Oracle database內部有一些進程與整合型捕獲進一同運行,成為日志挖掘進程配置的一部分。
日志挖掘服務器有以下幾部分組成:
讀:讀取并將redolog進行分解。
準備:掃描redolog,預過濾事務 為并行使用做準備。
重組:使用SCN通過準備進程和服務對redo記錄進行整合。
獲取:按照redo記錄的格式,將邏輯上改變記錄傳輸到本地隊列文件。
注意:根據實際設置SGA中streams_pool_size 參數以獲取更好的性能。
(4)數據泵進程
其實數據泵組是一個二次抽取進程組,用于幫助數據通過網絡傳輸。盡管數據泵是一個類似抽取組的捕獲進程,但是并不沖突。數據泵進程的主要功能是將隊列文件通過網絡傳輸到遠程的目標系統上。
為什么要使用數據泵進程?這要可以在網絡出現問題的時候保護數據,避免數據出現不一致的情況產生。
數據泵進程不像捕獲進程,數據泵進程無須過多的配置,經典模式下僅僅需要配置可用。
(5)交付進程(復制進程)
交付進程在OGG環境中其實是一個數據應用進程。交付進程的任務是:讀取隊列文件,按照時間順序獲取事務(按照SCN清單獲取事務),并應用事務。
交付進程有三種模式:
經典交付:經典交付是OGG默認配置的交付進程,由操作系統層進行管理。 內存需求:25M~55M;
協同交付:協同交付與經典交付很類似,區別在于:協同交付進程將會產生由主交付進程協調的從屬進程。并行的協同交付進程可以分解一個交付進程,使得長事務像小事務一般。
集成交付:
在OGG12C中引入集成交付進程。集成交付是基于主鍵,外鍵或者唯一鍵約束,依賴于事務和應用事務。
集成交付集成包括四個部分:Receiver,Prepare,Coordinator,Apply(n),如下圖。
(6)隊列文件
隊列文件是OGG特有的二進制文件,在OGG結構中承載事務。當數據發生改變時,支持持續不斷地進行數據抽取和數據復制。他可以存儲在本地文件中,也可以存儲在遠程的目標系統文件中。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。