OGG12.2常用結構

1、單項複製結構

 

1.png

 

源數據系統--Capture-->隊列文件---(Pump)-->網絡(Internet,Intranet-->隊列文件--Delivery-->目標數據系統

這種結構用於將數據從單個系統複製到一個或多目標系統。

三個進程:

extract (capture) 進程,

data pump 進程,

replicate (delivery)進程。

隊列文件爲二進制文件。

 

 

2、雙向複製(雙活)結構

 

2.png

 

這種結構可以用於系統的高可用,類似ADG技術,但是OGGADG技術相似,用於的場景各不相同。

 

 

3、實時數據倉庫結構

 圖片.png

 

應用企業所有數據進行整合在一個庫中,類似於Hadoop,數據可進一步應用於大數據技術。

 

 

4、實時進行數據分發

4.png

可以從一個數據源端將數據或者部分數據分發到不同地理位置的目標數據源。

 

 

 

5、通過信息進行數據分發

 

5.png

 

通過富文本進行數據傳輸,如使用Microsoft Excel,將數據分發到不同數據庫類型。

 

 

6、理解SCNSystem Change Numbers

Oracle GoldenGate 中將SCN作爲複製進程對Oracle數據庫的事務進行復制的唯一標識。在Microsoft SQL ServerMySQL同樣擁有相似的Number

在啓動捕獲進程以後,記錄SCN號。可以通過v$database視圖或者dbms_flashback包進行獲取。

獲取SCNSQL

SQL> select current_scn from v$database;

SQL> select dbms_flashback.get_system_change_number from dual;

:RAC環境中使用gv$database視圖獲取SCN

 

 

7OGG進程

1)管理進程

管理進程是OGG所有進程的主進程,只要有複製進程存在,在相關的每個系統中必須始終運行,主要功能如下:

a、啓動和重啓OGG進程;

b、啓動動態進程;

c、操作進程的端口號;

d、隊列文件的管理;

e、事件,錯誤和閥值報告

 

2)收集進程

OGG在線同步進行時,運行在目標數據端(交付端)的後臺進程。主要任務包括:

a、對來自源端抽取進程的管理器進行端口的掃描和限制。

b、接收來自源端抽取事務,並將數據寫入隊列文件。

 

OGG爲每一個抽取進程分配一個收集進程。抽取進程結束時,收集進程也隨之結束。

 

3)捕獲進程

OGG中抽取進程用於在數據發生變化時,從在線事務處理日誌中(如:oracleredolog)獲取數據的變化,實現數據同步。

 

一次抽取可以使用兩種方法進行配置:

ainitial load:用於數據的初始化,一般是靜態數據的導入,經常使用specialrun 參數。

b、數據變更同步:當數據發生變化時從源端同步到目標端。

 

經典型捕獲進程有內存的需求,每個捕獲進程需要25M~55M的內存。

 

整合型捕獲進程在11.2.0.2中引入並僅僅支持Oracle11.2.0.3及更高版本的數據庫。在Oracle數據庫中運行整合型捕獲與日誌挖掘進程進行互動。

6.png

在Oracle database內部有一些進程與整合型捕獲進一同運行,成爲日誌挖掘進程配置的一部分。

日誌挖掘服務器有以下幾部分組成:

讀:讀取並將redolog進行分解。

準備:掃描redolog,預過濾事務 爲並行使用做準備。

重組:使用SCN通過準備進程和服務對redo記錄進行整合。

獲取:按照redo記錄的格式,將邏輯上改變記錄傳輸到本地隊列文件。

 

注意:根據實際設置SGA中streams_pool_size 參數以獲取更好的性能。

 

 

 

4)數據泵進程

其實數據泵組是一個二次抽取進程組,用於幫助數據通過網絡傳輸。儘管數據泵是一個類似抽取組的捕獲進程,但是並不衝突。數據泵進程的主要功能是將隊列文件通過網絡傳輸到遠程的目標系統上。

爲什麼要使用數據泵進程?這要可以在網絡出現問題的時候保護數據,避免數據出現不一致的情況產生。

 

數據泵進程不像捕獲進程,數據泵進程無須過多的配置,經典模式下僅僅需要配置可用。

 

5)交付進程(複製進程)

交付進程在OGG環境中其實是一個數據應用進程。交付進程的任務是:讀取隊列文件,按照時間順序獲取事務(按照SCN清單獲取事務),並應用事務。

交付進程有三種模式:

經典交付:經典交付是OGG默認配置的交付進程,由操作系統層進行管理。 內存需求:25M~55M

協同交付:協同交付與經典交付很類似,區別在於:協同交付進程將會產生由主交付進程協調的從屬進程。並行的協同交付進程可以分解一個交付進程,使得長事務像小事務一般。

 

集成交付:

在OGG12C中引入集成交付進程。集成交付是基於主鍵,外鍵或者唯一鍵約束,依賴於事務和應用事務。

 

集成交付集成包括四個部分:Receiver,Prepare,Coordinator,Apply(n),如下圖。

7.png

 

6)隊列文件

隊列文件是OGG特有的二進制文件,在OGG結構中承載事務。當數據發生改變時,支持持續不斷地進行數據抽取和數據複製。他可以存儲在本地文件中,也可以存儲在遠程的目標系統文件中。


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