【goldengate】官方文件筆記五 Oracle GoldenGate實時資料倉儲

shilei1發表於2018-01-23
資料倉儲配置是多對一的配置方案。多個源端資料庫將資料傳送到同一個目標資料倉儲。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裡的物件。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/196700/viewspace-2150459/,如需轉載,請註明出處,否則將追究法律責任。

相關文章