2014-12-24 Created By 鮑新建
一、摘要
1.OGG是數據同步軟件,或者說是邏輯復制軟件,其競爭對手有IBM CDC,DELL shareplex,DSG,DDS等等。
2.OGG軟件是需要安裝在操作系統上的,Oracle DB軟件沒有自帶OGG軟件(至少目前是這樣的)
3.OGG軟件有三大進程(說四大進程也行):
三大進程:源頭抽取進程、源頭傳輸進程、目的端應用進程(即:復制進程)
四大進程:源頭抽取進程、源頭傳輸進程、目的端server進程(負責在目的端寫入trail文件)、目的端應用進程(即:復制進程)
4.OGG軟件有兩種trail file
源頭的trail file:由源頭抽取進程寫入。
目的端的trail file: 源頭傳輸進程傳輸到目的端,由目的端的server 進程寫入目的端操作系統的指定路徑下。
5.OGG軟件中三大進程都有自己的checkpoint(即:檢查點,用來記錄每種進程讀取到什麼位置了,寫入到什麼位置了)
源頭抽取進程:有讀取檢查點 和寫入檢查點
源頭傳輸進程:有讀取檢查點 和寫入檢查點
目的端應用進程:有讀取檢查點
6.OGG軟件三大進程處理trail file的過程:
源頭抽取進程:讀取oracle redo log(假設源頭數據庫是oracle),結合抽取進程的參數文件,將redo log中的內容變為OGG自有格式的文件(即trail file),並寫入到源頭操作系統的指定路徑下
源頭傳輸進程:讀取“源頭抽取進程寫入的trail file”,結合傳輸進程的參數文件,發送需要同步的數據到目的端,在目的端是由server 進程負責寫入。
目的端應用進程:讀取目的端操作系統的指定路徑下的trail file,結合應用進程的參數文件,形成sql語句,在目的端db上執行這些sql語句。
二、Extract Process
創建Extract Process
Step1. 添加extract程序
GGSCI (gavinprod.com) 51> add extract ext2, tranlog, begin now EXTRACT added.
Step2. 定義extract目錄
GGSCI (gavinprod.com) 52> add exttrail /opt/oracle/ggate/dirdat/ld, extract ext2 EXTTRAIL added.
Step3. 定義extract參數
edit params ext1
GGSCI (gavinprod.com) 19> edit params EXT2 extract ext2 userid ggate@gavinprod, password oracle exttrail /opt/oracle/ggate/dirdat/ld ddl include mapped objname source_prod.*; table source_prod.*;
三、Dump Process
創建Dump Process
Step1. 添加dump程序
GGSCI (gavinprod.com) 60> add extract dmp2,exttrailsource /opt/oracle/ggate/dirdat/ld EXTRACT added.
Step2. 定義dump目錄
GGSCI (gavinprod.com) 62> add rmttrail /opt/oracle/ggate/dirdat/ld, extract dmp2 RMTTRAIL added.
Step3. 定義dump參數
GGSCI (gavinprod.com) 71> view params DMP2 extract dmp2 userid ggate@gavinprod, password oracle rmthost odellprod.com, mgrport 7809 rmttrail /opt/oracle/ggate/dirdat/lt passthru table source_prod.*;
四、Replicat Process
創建Replicat Process
Step1. 添加replicat程序
GGSCI (odellprod.com) 8> add replicat rep2, exttrail /opt/oracle/ggate/dirdat/ld, checkpointtable ggate.checkpoint REPLICAT added.
Step2. 定義replicat參數
GGSCI (odellprod.com) 11> view params REP2 replicat rep2 ASSUMETARGETDEFS userid ggate@odellprod,password oracle discardfile /opt/oracle/ggate/dirdat/rep2_discard.txt, append, megabytes 10 map source_prod.*, target target_prod.*;
五、測試
1. 在源數據端,創建測試數據
CREATE TABLE source_prod.bxj_test_ogg_dump ( test_date DATE, test_description VARCHAR2 (100) ); INSERT INTO source_prod.bxj_test_ogg_dump VALUES (sysdate,'test goldendate data transfer by extract/dump/replicat');
2. Source Database,進程和文件
GGSCI (gavinprod.com) 17> info all Program Status Group Lag at Chkpt Time Since Chkpt MANAGER RUNNING EXTRACT RUNNING DMP2 00:00:00 00:00:07 EXTRACT RUNNING EXT1 00:00:00 00:00:08 EXTRACT RUNNING EXT2 00:00:00 00:00:06
2. Target Database,進程和文件
GGSCI (odellprod.com) 6> info all Program Status Group Lag at Chkpt Time Since Chkpt MANAGER RUNNING REPLICAT RUNNING REP1 00:00:00 00:00:03 REPLICAT RUNNING REP2 00:00:00 00:00:03
3. Checkpoint表
參考:shined - http://www.cnblogs.com/shined/archive/2012/07/12/2587648.html
參考:msdnchina - http://blog.csdn.net/msdnchina/article/details/38347285