3.1 兩端同時創建表
CREATE TABLE sky.t1(id NUMBER);--創建主鍵注意兩邊都要創建alter table sky.t1 add primarykey(id);--增加附加日志ggsicdblogin userid goldengate,passwordgoldengate;add trandata sky.*
3.2 模擬數據插入腳本?
SQLPLUS 下執行如下語句模擬不斷執行數據插入
beginfori in90000..10000000loopinsert into sky.t1 values(i);commit;if mod(i,100) =0thendbms_lock.sleep(3);endif;end loop;end;
3.3 源端進程配置
增加源端 CDC 進程
ADD EXTRACT cdcext1,TRANLOG,BEGIN NOWADD RMTTRAIL./dirdat/zz,EXTRACT cdcext1
增加源端 CDC 進程配置文件
EXTRACT cdcext1SETENV(NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)USERID goldengate, PASSWORD goldengate
RMTHOST 192.168.56.120, MGRPORT 7809RMTTRAIL ./dirdat/zz
TABLE sky.t1
增加源端的 INIT 進程
add extract initext,source is table
增加源端 INIT 進程配置文件
extract initextuserid goldengate,password goldengatermthost192.168.56.120,mgrport7809rmttask replicat,group initreptable sky.t1;
3.4 目標端進程配置
增加目標端 CDC 進程
add replicat cdcrep1,exttrail./dirdat/zz nodbcheckpoint
增加目標端 CDC 進程配置文件
REPLICAT cdcrep1HANDLECOLLISIONSASSUMETARGETDEFSUSERID goldengate,PASSWORDgoldengateMAP sky.t1,TARGET sky.t1;
注意進程中關鍵的側參數 HANDLECOLLISIONS。
增加目標端 INIT 進程
add replicat initrep,specialrun
增加目標端 INIT 進程配置文件
replicat initrepASSUMETARGETDEFSDISCARDFILE./dirrpt/repint1.dsc,APPEND,MEGABYTES100userid goldengate,password goldengateMAP sky.t1,TARGET sky.t1;
3.5 同步過程
源端數據庫執行數據生成 SQL 語句