【goldengate】官方文件筆記四 Oracle GoldenGate實時資料分佈

shilei1發表於2018-01-23
資料分佈配置是一對多得配置方案。OGG支援將源庫同步到多個目標系統。


資料分佈配置需要注意事項:
如果資料傳輸過程中,投遞程式(data pump)發現目標庫網路連線出現故障,捕獲到得資料會繼續像其它目標傳送。在源端使用一個初始抽取組(extractgroup)和一個投遞組(data pump extract group)對應多個目標資料庫。

建立資料分佈結構



源端系統

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

2,在管理程式引數檔案中,使用PURGEOLDEXTRACTS引數來控制本地trail檔案的清除工作。

配置初級提取程式
3,在源端,使用ADD EXTRACT命令來建立一個初級提取組。在這裡我們取名為ext。

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

4,在源端,使用ADD  EXTTRAIL命令來建立一個本地trail
ADD EXTTRAIL <local_trail>, EXTRACT <ext>
     使用引數EXTRACT將提取組ext和trail相連結。提取組將資訊寫入trail,投遞組從trail中讀取。
5,在源端,使用EDIT PARAMS命令為初級提取組建立一個引數檔案。
-- Identify the Extract group:EXTRACT <ext>
-- Specify database login information as needed for the database:
[SOURCEDB <dsn_1>][, USERID <user>][, PASSWORD <pw> [<encryption options>]]

-- Specify the local trail that this Extract writes to
-
- and encryption options:
ENCRYPTTRAIL <encryption options>EXTTRAIL <local_trail>
-- Specify tables to be captured:
TABLE <owner>.<table>;

  • EXTTRAIL用於指定本地trail
配置資料泵投遞組
在源頭端,使用ADD EXTRACT 命令為每一個目標系統建立資料泵。在這裡我們取名為pump_1,pump2.
ADD EXTRACT <pump_1>, EXTTRAILSOURCE <local_trail>, BEGIN <time>
ADD EXTRACT <pump_2>, EXTTRAILSOURCE <local_trail>, BEGIN <time>
EXTRACT引數用於將遠端trail連線到不同的投遞組。被指定的投遞組將資訊寫入相對應的trail檔案。
8,在源端,使用EDIT PARAMS命令為每一個資料泵提取組建立引數檔案。
Data pump_1

-- Identify the data pump group:
EXTRACT <pump_1>
-- Specify database login information if using NOPASSTHRU:
[SOURCEDB <dsn_1>][, USERID <user>][, PASSWORD <pw> [<encryption options>]]

-- Specify decryption options if input trail is encrypted.DECRYPTTRAIL
<encryption options>
-- Specify the name or IP address of the first target system
-- and optional encryption of data over TCP/IP:
RMTHOST <target_1>, MGRPORT <portnumber>, ENCRYPT <encryption options>
-- Specify remote trail and encryption options on first target system:
ENCRYPTTRAIL <encryption options>
RMTTRAIL <remote_trail_1>
-- Allow mapping, filtering, conversion or pass data through as-is:
[PASSTHRU | NOPASSTHRU]
-- Specify tables to be captured:
TABLE <owner>.<table>;


Data pump_2

-- Identify the data pump group:
EXTRACT <pump_2>-- Specify database login information if using NOPASSTHRU:
[SOURCEDB <dsn_1>][, USERID <user>][, PASSWORD <pw> [<encryption options>]]

-- Specify decryption options if input trail is encrypted.DECRYPTTRAIL
<encryption options>
-- Specify the name or IP address of the second target system
-- and optional encryption of data over TCP/IP:
RMTHOST <target_2>, MGRPORT <portnumber>, ENCRYPT <encryption options>
-- Specify remote trail and encryption options on second target system:
ENCRYPTTRAIL <encryption options>RMTTRAIL <remote_trail_2>
-- Allow mapping, filtering, conversion or pass data through as-is:
[PASSTHRU | NOPASSTHRU]
-- Specify tables to be captured:
TABLE <owner>.<table>;


目標系統

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

10,在管理程式引數檔案中,使用PURGEOLDEXTRACTS引數來控制本地trail檔案的清除工作。

配置複製組
11,在每個目標系統上分別建立複製檢查點表(Replicat checkpoint table)
12,在每個目標系統上,使用ADD REPLICAT命令為每一個遠端系統上的trail建立複製組(Replicat group)。在這裡我們取名為rep_1,rep_2
Target_1
ADD REPLICAT <rep_1>, EXTTRAIL <remote_trail>, BEGIN <time>

Target_2
ADD REPLICAT <rep_2>, EXTTRAIL <remote_trail>, BEGIN <time>
  • EXTTRAIL引數用於將複製組連線到正確的trail。
13,在每個目標系統上,使用EDIT PARMAS命令分別建立一個提取組引數檔案。

Target_1

-- Identify the Replicat group:
REPLICAT <rep_1>
-- State whether or not source and target definitions are identical:
SOURCEDEFS <full_pathname> | ASSUMETARGETDEFS
-- Specify database login information as needed for the database:
[TARGETDB <dsn_2>][, USERID <user>][, PASSWORD <pw> [<encryption options>]]

-- Specify decryption options if input trail is encrypted.DECRYPTTRAIL
<encryption options>
-- Specify error handling rules:
REPERROR (<error>, <response>)
-- Specify tables for delivery:
MAP <owner>.<table>, TARGET <owner>.<table>[, DEF <template name>];


Target_2

-- Identify the Replicat group:
REPLICAT <rep_2>
-- State whether or not source and target definitions are identical:
SOURCEDEFS <full_pathname> | ASSUMETARGETDEFS
-- Specify database login information as needed for the database:
[TARGETDB <dsn_3>][, USERID <user>][, PASSWORD <pw> [<encryption options>]]

-- Specify decryption options if input trail is encrypted.DECRYPTTRAIL
<encryption options>
-- Specify error handling rules:REPERROR (<error>, <response>) 
-- Specify tables for delivery:
MAP <owner>.<table>, TARGET <owner>.<table>[, DEF <template name>];

  • 你可以為複製組使用多個MAP語句。這些MAP語句必須指定包含在連線到該組中相同trail裡的物件。

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

相關文章