分類: Oracle
數據倉庫配置需要注意以下事項:
假設每個源端的數據庫發送到目標系統的數據都是不同的。如果在多個源端系統出現了相同的表,表中出現了相同的記錄時,需要做出衝突解決。
你可以將源端系統和目標端系統的數據存儲相互分離,節約目標端所需的大量磁盤空間。爲了避免提取進程通過網絡直接將數據發送給目標端,每個源端系統上都需要設置數據泵投遞進程。
初級提取組將數據寫入每個源端的本地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裏的對象。