OGG的initial load和online change sync
Initial load
可分為幾種:
除去第一種方法,其餘均需要initial-load extract或initial-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 extract將source table寫入remote extract檔案(canonical格式),由initial-load replicat將其加逐行載入資料庫,因此效率較低;
大致步驟
1 啟動source的manager程式:start manager;
2 編輯initial-load extract引數檔案:edit params
SOURCEISTABLE – 標明extract為initial load,直接從source table獲取資料
SOURCEDB mydb, USERID ogg, PASSWORD
AACAAAAAAAAAAAJAUEUGODSCVGJEEIUGKJDJTFNDKEJFFFTC &
AES128, ENCRYPTKEY securekey1
RMTHOST ny4387, MGRPORT 7888, ENCRYPT AES 192 KEYNAME mykey –指定target host和manager 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
SPECIALRUN –將replicat設定為一次性執行,不需要checkpoint
END RUNTIME –當load完成後終結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程式:$/
6 啟動initial-load replicat程式:$/
7 啟動change replicat程式:start replicat
8 監控change replicat狀態:info replicat
9 移除change replicat的handlecollisions引數:send replicat
Load data from file to database utility
使用initial-load extract將source table寫入remote ASCII檔案,透過db utility載入到target db,initial-load replicat會生成run and control files輔助db utility;資料轉換必須由initial-load extract執行;
大致步驟
1 啟動source的manager程式:start manager;
2 編輯initial-load extract引數檔案:edit params
SOURCEISTABLE –宣告extract為initial-load
SOURCEDB mydb, USERID ogg, PASSWORD
AACAAAAAAAAAAAJAUEUGODSCVGJEEIUGKJDJTFNDKEJFFFTC &
AES128, ENCRYPTKEY securekey1
RMTHOST ny4387, MGRPORT 7888, ENCRYPT AES 192 KEYNAME mykey –指定target host和manager port
ENCRYPTTRAIL AES192, KEYNAME mykey1
RMTFILE /ggs/dirdat/initld, MEGABYTES 2, PURGE –指定remote extract檔案
FORMATASCII, SQLLOADER –將輸出格式化為ASCII文字,替代預設的canonical格式,可選項包括BCP和SQLLOADER
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程式:$/
6 啟動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
9 移除change replicat的handlecollisions引數:send replicat
Load data with OGG direct load
使用initial-load extract將source table直接傳送至initial-load replicat task(由manager動態生成,不需要collector程式),由後者透過large block載入到target;不支援log/long/UDT/大於4K的資料欄位;
Target端使用dynamicportlist為replicat分配port,加速查詢和繫結過程;
大致步驟
1 啟動source的manager程式: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 – 指導target的manager動態啟動一次性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
6 監控initial-load程式,在target執行view report
7 啟動change replicat程式:start replicat
8 監控change replicat狀態:info replicat
9 移除change replicat的handlecollisions引數:send replicat
Load data with a direct bulk load to SQL*Loader
使用initial-load extract將source table傳送給initial-load replicat,後者同SQL*Loader結合執行直接路徑載入;
此方法只用於Oracle的SQL*Loader,不適合其他資料庫;不支援lob/long型別;
1 啟動source的manager程式: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 –指導target的manager動態啟動initial-load replicat,為一次性任務
TABLE hr.*;
TABLE sales.*;
3 新增/編輯target initial-load repicat的引數檔案:add replicat
REPLICAT initrep
USERID ogg, PASSWORD
AACAAAAAAAAAAAJAUEUGODSCVGJEEIUGKJDJTFNDKEJFFFTC &
AES128, ENCRYPTKEY securekey1
BULKLOAD –指導replicat同oracle 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
6 監控initial-load程式,在target執行view report
7 啟動change replicat程式:start replicat
8 監控change replicat狀態:info replicat
9 移除change replicat的handlecollisions引數:send replicat
Online change sync
大致分為
建立checkpoint表
建立extract組
建立extract引數檔案
建立trail
建立replicat組
建立replicat引數檔案
每個manager最多支援5000個併發extract和replicat組,可根據活躍程度為不同的表單獨分配extract,每個extract單獨對應一個data pumps和replicat組;
Checkpoint表
可被多個OGG instance共享,也可建立多個表,每個replicat組對應一個;
建立方式:
1
在GLOBALS檔案宣告
每個透過add replicat新建的replicat組均可自動使用
編輯GLOBALS檔案Edit params ./GLOBALS
新增引數 checkpointtabl 透過GGSCI登陸資料庫dblogin sourcedb 執行add checkpointtabl 2 建立replicat時宣告 add replicat checkpointtable,覆蓋GLOBALS檔案;如果指定nodbcheckpoint,則使用checkpoint file; 建立online extract group ADD EXTRACT {, {, BEGIN [, PASSIVE] –配合alias extract使用,當從target發起連線時用到 [, THREADS [, PARAMS [, REPORT [, DESC “ 建立alias extract ADD EXTRACT , RMTHOST { , {MGRPORT [, RMTNAME [, DESC “ 建立trail 由data pump或replicat負責讀取,teradata則需要VAM-sort extract; 為trail單獨分配一個磁碟; 新增trail ADD {RMTTRAIL | EXTTRAIL} 建立online replicat組 ADD REPLICAT [, BEGIN [, CHECKPOINTTABLE [, NODBCHECKPOINT] [, PARAMS [, REPORT 控制online process 啟動 Start [extract|replicat] 可配置manager引數檔案,autostart為自動啟動,autorestart自動重啟動 停止 Stop [extract|replicat] 強制關閉replicat stop replicat 殺死 Kill [extract|replicat] 一次執行操作多個程式 --可選命令為start/stop/kill 刪除程式組 停止相應程式後,可將其刪除但可同時保留引數檔案,後續可重新新增同樣組; GGSCI登陸資料庫,執行delete [extract|replicat]
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15480802/viewspace-760784/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ORACLE GoldenGate Initial LoadOracleGo
- MySQL ONLINE DDL 和PT-ONLINE-SCHEMA-CHANGE對比MySql
- MySQL online ddl 工具之pt-online-schema-changeMySql
- MySQL Online DDL--pt-online-change-schema測試MySql
- 【MySQL】online ddl 工具之pt-online-schema-changeMySql
- 線上改表工具oak-online-alter-table和pt-online-schema-change的使用限制總結
- pt-online-schema-change 工具使用薦
- pt-online-schema-change的操作原理簡單介紹
- user database的initial size和dbcc shrinkfileDatabase
- pt-online-schema-change工作過程介紹
- Tempdb initial size和dbcc shrinkfile
- MySQL:pt-online-schema-change原理及注意點(未完)MySql
- MySQL修改大表工具pt-online-schema-change原理MySql
- pt-online-schema-change 錯誤集 Wide characterIDE
- 一個 MySQL 線上 DDL 工具 — pt-online-schema-changeMySql
- Facebook 針對 MySQL 開源 Online Schema Change 程式碼MySql
- OGG-01635 BOUNDED RECOVERY: reset to initial or altered checkpoint問題處理
- 【OGG】OGG的下載和安裝篇
- goldengate 的initial load 當目的表無pk或者ui時會產生重複記錄GoUI
- MySQL 5.7使用pt-online-schema-change對大表加索引MySql索引
- pt-osc(pt-online-schema-change)工具實現原理剖析
- MySQL使用pt-online-change-schema實現線上加欄位MySql
- GO通道和 sync 包的分享Go
- create table之storage選項initial和其它
- MySQL 5.7使用pt-online-schema-change對大表加欄位MySql
- pt-online-schema-change 使用異常處理及注意事項
- ABAP關鍵字 IS BOUND, IS NOT INITIAL和IS ASSIGNED的用法辨析
- 電競顯示器G-sync和Free-sync區別對比:G-SYNC和Free Sync有什麼優缺點?
- mysql alter modify 和 change的區別MySql
- rebuild index online和create index online及沒有online的區別RebuildIndex
- INITIAL 16M
- MySQL 5.6使用pt-online-schema-change線上修改大表欄位長度MySql
- NSObject 的 initialize 和 load 方法Object
- NSObject的load和initialize方法Object
- NSObject 的 load 和 initialize 方法Object
- load和loads的區別
- OGG的加密和許可權控制加密
- input事件和change事件區別事件