OGG的initial load和online change sync

myownstars發表於2013-05-10

Initial load

可分為幾種:

除去第一種方法,其餘均需要initial-load extractinitial-load replicat;在同步initial-load期間的change時,replicat都需要新增handlercollisions引數,並在同步完成後去除;

 

Loading data with a database utility

使用db copy utility建立target db,等copy完成啟用change-sync replicat同步期間產生的change;此過程完成後開始正常的資料同步;

因為不需要initial-load extract/replicat,也無須為之配備引數檔案

 

 

Loading data from file to replicat

使用initial-load extractsource table寫入remote extract檔案(canonical格式),由initial-load replicat將其加逐行載入資料庫,因此效率較低;

大致步驟

1 啟動sourcemanager程式:start manager

2 編輯initial-load extract引數檔案:edit params

SOURCEISTABLE標明extractinitial load,直接從source table獲取資料

SOURCEDB mydb, USERID ogg, PASSWORD

AACAAAAAAAAAAAJAUEUGODSCVGJEEIUGKJDJTFNDKEJFFFTC &

AES128, ENCRYPTKEY securekey1

RMTHOST ny4387, MGRPORT 7888, ENCRYPT AES 192 KEYNAME mykey –指定target hostmanager port

ENCRYPTTRAIL AES192, KEYNAME mykey1

RMTFILE /ggs/dirdat/initld, MEGABYTES 2, PURGE  --指定remote extract檔案,不需要維護checkpoing

TABLE hr.*;

TABLE sales.*;

3 編輯target initial-load repicat的引數檔案:edit params

SPECIALRUNreplicat設定為一次性執行,不需要checkpoint

END RUNTIMEload完成後終結replicat

TARGETDB mydb, USERID ogg, PASSWORD

AACAAAAAAAAAAAJAUEUGODSCVGJEEIUGKJDJTFNDKEJFFFTC &

AES128, ENCRYPTKEY securekey1

DECRYPTTRAIL AES192, KEYNAME mykey1

EXTFILE /ggs/dirdat/initld –宣告由extract指定的rmtfile

SOURCEDEFS /ggs/dirdef/source_defs – source/target表結構不同時使用,def檔案由defgen生成;如果表結構一致則使用assumetargetdefs

MAP hr.*, TARGET hr.*;

MAP sales.*, TARGET hr.*;

4 啟動change extract程式:start extract

5 啟動initial-load extract程式:$/.prm reportfile   --透過initial-load extract引數檔名啟動,監控狀態直至extraction完成

6 啟動initial-load replicat程式:$/.prm reportfile --透過initial-load replicat引數檔案啟動,監控直至完成

7 啟動change replicat程式:start replicat

8 監控change replicat狀態:info replicat --直至應用完所有initial load產生的change,如果initial-load extract12:05結束,確保replicat應用到此時間點;

9 移除change replicathandlecollisions引數:send replicat , nohandlecollisions,然後更新repliat引數檔案

 

 

Load data from file to database utility

使用initial-load extractsource table寫入remote ASCII檔案,透過db utility載入到target dbinitial-load replicat會生成run and control files輔助db utility;資料轉換必須由initial-load extract執行;

大致步驟

1 啟動sourcemanager程式:start manager

2 編輯initial-load extract引數檔案:edit params

SOURCEISTABLE宣告extractinitial-load

SOURCEDB mydb, USERID ogg, PASSWORD

AACAAAAAAAAAAAJAUEUGODSCVGJEEIUGKJDJTFNDKEJFFFTC &

AES128, ENCRYPTKEY securekey1

RMTHOST ny4387, MGRPORT 7888, ENCRYPT AES 192 KEYNAME mykey –指定target hostmanager port

ENCRYPTTRAIL AES192, KEYNAME mykey1

RMTFILE /ggs/dirdat/initld, MEGABYTES 2, PURGE –指定remote extract檔案

FORMATASCII, SQLLOADER將輸出格式化為ASCII文字,替代預設的canonical格式,可選項包括BCPSQLLOADER

TABLE hr.*;

TABLE sales.*;

3 編輯target initial-load repicat的引數檔案:edit params

GENLOADFILES sqlldr.tpl  --生成run and control files,輔助db utility載入資料,該檔案動態生成不可人工干預

USERID ogg, PASSWORD

AACAAAAAAAAAAAJAUEUGODSCVGJEEIUGKJDJTFNDKEJFFFTC &

AES128, ENCRYPTKEY securekey1

DECRYPTTRAIL AES192, KEYNAME mykey1

EXTFILE /ggs/dirdat/initld

SOURCEDEFS /ggs/dirdef/source_defs

MAP hr.*, TARGET hr.*;

MAP sales.*, TARGET hr.*;

4 啟動change extract程式:start extract

5 啟動initial-load extract程式:$/.prm reportfile   --透過initial-load extract引數檔名啟動,監控狀態直至extraction完成

6 啟動initial-load replicat程式:$/.prm reportfile --透過initial-load replicat引數檔案啟動,監控直至完成

7 載入target db:透過步驟6生成的ASCII文字檔案和run and control files,使用db utility將其載入至target db,監控直至完成

7 啟動change replicat程式:start replicat

8 監控change replicat狀態:info replicat --直至應用完所有initial load產生的change,如果initial-load extract12:05結束,確保replicat應用到此時間點;

9 移除change replicathandlecollisions引數:send replicat , nohandlecollisions,然後更新repliat引數檔案

 

 

 

Load data with OGG direct load

使用initial-load extractsource table直接傳送至initial-load replicat task(manager動態生成,不需要collector程式),由後者透過large block載入到target;不支援log/long/UDT/大於4K的資料欄位;

Target端使用dynamicportlistreplicat分配port,加速查詢和繫結過程;

大致步驟

1 啟動sourcemanager程式:start manager

2 新增並編輯initial-load extract引數檔案:add extract < initial-load extract name>, sourceistable/edit params

EXTRACT initext  --指定initial-load extract 程式名

SOURCEDB mydb, USERID ogg, PASSWORD

AACAAAAAAAAAAAJAUEUGODSCVGJEEIUGKJDJTFNDKEJFFFTC &

AES128, ENCRYPTKEY securekey1

RMTHOST ny4387, MGRPORT 7888, ENCRYPT AES 192 KEYNAME mykey

RMTTASK REPLICAT, GROUP initrep指導targetmanager動態啟動一次性initial-load replicat

TABLE hr.*;

TABLE sales.*;

3 新增編輯target initial-load repicat的引數檔案:add replicat initrep, specialran/edit params initrep

REPLICAT initrep 指定initial-load replicat task

TARGETDB mydb, USERID ogg, PASSWORD

AACAAAAAAAAAAAJAUEUGODSCVGJEEIUGKJDJTFNDKEJFFFTC &

AES128, ENCRYPTKEY securekey1

SOURCEDEFS /ggs/dirdef/source_defs

MAP hr.*, TARGET hr.*;

MAP sales.*, TARGET hr.*;

4 啟動change extract程式:start extract

5 啟動initial-load extract程式:start extract ,會自動啟動initial-load replicat

6 監控initial-load程式,在target執行view report 直至完成

7 啟動change replicat程式:start replicat

8 監控change replicat狀態:info replicat --直至應用完所有initial load產生的change,如果initial-load extract12:05結束,確保replicat應用到此時間點;

9 移除change replicathandlecollisions引數:send replicat , nohandlecollisions,然後更新repliat引數檔案

 

 

Load data with a direct bulk load to SQL*Loader

使用initial-load extractsource table傳送給initial-load replicat,後者同SQL*Loader結合執行直接路徑載入;

此方法只用於OracleSQL*Loader,不適合其他資料庫;不支援lob/long型別;

1 啟動sourcemanager程式:start manager

2 編輯initial-load extract引數檔案:edit params

EXTRACT initext –指定initial-load extract程式名

SOURCEDB mydb, USERID ogg, PASSWORD

AACAAAAAAAAAAAJAUEUGODSCVGJEEIUGKJDJTFNDKEJFFFTC &

AES128, ENCRYPTKEY securekey1

RMTHOST ny4387, MGRPORT 7888, ENCRYPT AES 192 KEYNAME mykey

RMTTASK REPLICAT, GROUP initrep指導targetmanager動態啟動initial-load replicat,為一次性任務

TABLE hr.*;

TABLE sales.*;

3 新增/編輯target initial-load repicat的引數檔案:add replicat m, specialrun/edit params

REPLICAT initrep

USERID ogg, PASSWORD

AACAAAAAAAAAAAJAUEUGODSCVGJEEIUGKJDJTFNDKEJFFFTC &

AES128, ENCRYPTKEY securekey1

BULKLOAD –指導replicatoracle sql*loader介面協同工作

SOURCEDEFS /ggs/dirdef/source_defs

MAP hr.*, TARGET hr.*;

MAP sales.*, TARGET hr.*;

4 啟動change extract程式:start extract

5 啟動initial-load extract程式:start extract ,會自動啟動initial-load replicat

6 監控initial-load程式,在target執行view report 直至完成

7 啟動change replicat程式:start replicat

8 監控change replicat狀態:info replicat --直至應用完所有initial load產生的change,如果initial-load extract12:05結束,確保replicat應用到此時間點;

9 移除change replicathandlecollisions引數:send replicat , nohandlecollisions,然後更新repliat引數檔案

 

 

 

Online change sync

大致分為

建立checkpoint

建立extract

建立extract引數檔案

建立trail

建立replicat

建立replicat引數檔案

 

每個manager最多支援5000個併發extractreplicat組,可根據活躍程度為不同的表單獨分配extract,每個extract單獨對應一個data pumpsreplicat組;

 

Checkpoint

可被多個OGG instance共享,也可建立多個表,每個replicat組對應一個;

建立方式:

1

GLOBALS檔案宣告

每個透過add replicat新建的replicat組均可自動使用

編輯GLOBALS檔案Edit params ./GLOBALS

新增引數 checkpointtabl .

透過GGSCI登陸資料庫dblogin sourcedb , userid , password

執行add checkpointtabl .

 

2

建立replicat時宣告

add replicat checkpointtable,覆蓋GLOBALS檔案;如果指定nodbcheckpoint,則使用checkpoint file

 

建立online extract group

ADD EXTRACT

{, } –指定資料來源;tranlog—事務日誌,integrated tranlog—integrated模式接受LCR,只用於oracleVAM—用於teradatavamtrailsource --指定VAM trailexttrailsource --指定本地trail

{, BEGIN } | {} –可選值:now—add extract時間點起,對data pump最好不要使用;--指定時間點

[, PASSIVE] –配合alias extract使用,當從target發起連線時用到

[, THREADS ]  --只在RAC下使用,指定redo執行緒數

[, PARAMS ]  --若其引數檔案沒有儲存在dirprm子目錄,則需顯示宣告

[, REPORT ] –若程式報告存於非dirrpt子目錄,則需顯示宣告

[, DESC “”]

 

建立alias extract

ADD EXTRACT

, RMTHOST { | }

, {MGRPORT } | {PORT

[, RMTNAME ]  --指定passive extract

[, DESC “”]

 

建立trail

data pumpreplicat負責讀取,teradata則需要VAM-sort extract

trail單獨分配一個磁碟;

新增trail

ADD {RMTTRAIL | EXTTRAIL} , EXTRACT [, MEGABYTES ] –預設n100

 

建立online replicat

ADD REPLICAT , EXTTRAIL

[, BEGIN | , EXTSEQNO , EXTRBA ] –指定exttrail開始讀取的檔案號和相對塊地址

[, CHECKPOINTTABLE ]

[, NODBCHECKPOINT]

[, PARAMS ]

[, REPORT ]

 

 

控制online process

啟動

Start [extract|replicat]

可配置manager引數檔案,autostart為自動啟動,autorestart自動重啟動

停止

Stop [extract|replicat]

強制關閉replicat stop replicat !

殺死

Kill [extract|replicat]

一次執行操作多個程式

ER

--可選命令為start/stop/kill

 

刪除程式組

停止相應程式後,可將其刪除但可同時保留引數檔案,後續可重新新增同樣組;

GGSCI登陸資料庫,執行delete [extract|replicat]

 

 

 

 

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

OGG的initial load和online change sync
請登入後發表評論 登入
全部評論

相關文章