【goldengate】官方文檔筆記五 Oracle GoldenGate實時數據倉庫

分類: Oracle

數據倉庫配置是多對一的配置方案。多個源端數據庫將數據發送到同一個目標數據倉庫。OGG支持將源庫同步到多個目標系統。



數據倉庫配置需要注意以下事項:
假設每個源端的數據庫發送到目標系統的數據都是不同的。如果在多個源端系統出現了相同的表,表中出現了相同的記錄時,需要做出衝突解決。
你可以將源端系統和目標端系統的數據存儲相互分離,節約目標端所需的大量磁盤空間。爲了避免提取進程通過網絡直接將數據發送給目標端,每個源端系統上都需要設置數據泵投遞進程。
初級提取組將數據寫入每個源端的本地trail
每個源端數據泵投遞進程將讀取本地trail,然後通過TCP/IP發送給專屬複製組(dedicated replicat group)。

創建倉庫分佈結構



源端系統

配置管理進程
1,在源端配置管理進程,參見筆 【goldengate】官方文檔筆記一
http://blog.itpub.net/29047826/viewspace-1249506/

2,在管理進程參數文件中,使用PURGEOLDEXTRACTS參數來控制本地trail文件的清除工作。

配置初級提取進程
3,在每一個源端上,使用ADD EXTRACT命令來創建一個初級提取組。在這裏我們取名爲ext_1和ext_2。
Extract_1
ADD EXTRACT <ext_1>, {TRANLOG | INTEGRATED TRANLOG}, BEGIN <time>, [, THREADS]

Extract_2
ADD EXTRACT <ext_2>, {TRANLOG | INTEGRATED TRANLOG}, BEGIN <time>, [, THREADS]

4,在每一個源端上,使用ADD  EXTTRAIL命令來創建一個本地trail
Extract_1
ADD EXTTRAIL <local_trail_1>, EXTRACT <ext_1>

Extract_2
ADD EXTTRAIL <local_trail_2>, EXTRACT <ext_2>
     使用參數EXTRACT將同一個系統上的提每一個取組連接到本地trail。提取組將信息寫入trail,投遞組從trail中讀取。
5,在每一個源端上,使用EDIT PARAMS命令爲初級提取組創建一個參數文件。
Extract_1 EXTRACT <ext_1> [SOURCEDB <dsn_1>][, USERID <user>][, PASSWORD <pw> [<encryption options>]]
ENCRYPTTRAIL <encryption options> EXTTRAIL <local_trail_1> TABLE <owner>.<table>;

Extract_2
EXTRACT <ext_2>
[SOURCEDB <dsn_1>][, USERID <user>][, PASSWORD <pw> [<encryption options>]]
ENCRYPTTRAIL <encryption options>
EXTTRAIL <local_trail_2>
TABLE <owner>.<table>;

配置數據泵投遞組
6,在每一個源端上,使用ADD EXTRACT 命令爲每一個目標系統創建數據泵。在這裏我們取名爲pump_1,pump2.
Data pump_1
ADD EXTRACT <pump_1>, EXTTRAILSOURCE <local_trail_1>, BEGIN <time>
Data pump_2
ADD EXTRACT <pump_2>, EXTTRAILSOURCE <local_trail_2>, BEGIN <time>
EXTTRAILSOURCE作爲數據源選項,指定本地trail文件。
7,在每一個源端上,使用ADD RMTTRAIL命令創建一個目標數據庫上的trail。
source_1
ADD RMTTRAIL <remote_trail_1>, EXTRACT <pump_1>

source_2
ADD RMTTRAIL <remote trail_2>, EXTRACT <pump_2>

 使用EXTRACT參數將每個遠程的tail連接到不同的數據泵投遞組。投遞組通過TCP/IP向trail寫入數據,然後複製組從trail讀取數據。
8,在每一個源端上,使用EDIT PARAMS命令爲每一個數據泵提取組創建參數文件。
Data pump_1

EXTRACT <pump_1> [SOURCEDB <dsn_1>][, USERID <user>][, PASSWORD <pw> [<encryption options>]]
DECRYPTTRAIL <encryption options> RMTHOST <target_1>, MGRPORT <portnumber>, ENCRYPT <encryption options> ENCRYPTTRAIL <encryption options> RMTTRAIL <remote_trail_1> [PASSTHRU | NOPASSTHRU] TABLE <owner>.<table>;

Data pump_2

EXTRACT <pump_2> [SOURCEDB <dsn_1>][, USERID <user>][, PASSWORD <pw> [<encryption options>]]
DECRYPTTRAIL <encryption options> RMTHOST <target_2>, MGRPORT <portnumber>, ENCRYPT <encryption options> ENCRYPTTRAIL <encryption options> RMTTRAIL <remote_trail_2> [PASSTHRU | NOPASSTHRU] TABLE <owner>.<table>;

目標系統

配置管理進程
9,在源端配置管理進程,參見筆 【goldengate】官方文檔筆記一
http://blog.itpub.net/29047826/viewspace-1249506/

10,在管理進程參數文件中,使用PURGEOLDEXTRACTS參數來控制本地trail文件的清除工作。

配置複製組
11,在目標系統上,使用ADD REPLICAT命令爲每一個遠程的trail創建複製組(Replicat group)。在這裏我們取名爲rep_1,rep_2
Relicat_1
ADD REPLICAT <rep_1>, EXTTRAIL <remote_trail_1>, BEGIN <time>

Replicat_2
ADD REPLICAT <rep_2>, EXTTRAIL <remote_trail_2>, BEGIN <time>
EXTTRAIL參數用於將複製組連接到正確的trail。
12,在目標系統上,使用EDIT PARMAS命令分別創建一個提取組參數文件。

Relicat_1

REPLICAT <rep_1> SOURCEDEFS <full_pathname> | ASSUMETARGETDEFS [TARGETDB <dsn_2>][, USERID <user>][, PASSWORD <pw> [<encryption options>]]
DECRYPTTRAIL <encryption options> REPERROR (<error>, <response>) MAP <owner>.<table>, TARGET <owner>.<table>[, DEF <template name>];

Replicat_2

REPLICAT <rep_2> SOURCEDEFS <full_pathname> | ASSUMETARGETDEFS [TARGETDB <dsn_3>][, USERID <user>][, PASSWORD <pw> [<encryption options>]]
DECRYPTTRAIL <encryption options> REPERROR (<error>, <response>) MAP <owner>.<table>, TARGET <owner>.<table>[, DEF <template name>];
你可以爲複製組使用多個MAP語句。這些MAP語句必須指定包含在連接到該組中相同trail裏的對象。
發佈了9 篇原創文章 · 獲贊 1 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章