增加復制表
增加復制表
1) 對於新增表,首先要在源端對其加入supplemental log。
GGSCI > dblogin userid goldengate, password goldengate
GGSCI > info trandata <schema>.<table name>
如果不是enable則需要手動加入:
GGSCI > add trandata <schema>.<table name>
2) 在源端系統上ggsci中執行stop extXX停止源端的抓取進程(註意檢查所需最老歸檔日誌是否存在);
3) 在目標端系統上ggsci中執行stop repXX停止目標端的復制進程;
4) 在源端修改ext進程參數,添加新表:
Ggsci> edit param extXX
在文件最後加入一行“table myschema.newtable;” 註意寫全schema和表的名稱。
在目標端修改rep進程所包含的列表文件:
GGSCI> edit param repXX
在assumetargetdefs下面加入一行:
Handlecollisions 註:如果是空表的話不用加此沖突處理參數
結尾加入一行“map ***.XXX, target ***.XXX, filter (@GETENV ("transaction", "csn") > 9543774);”註意寫全schema和表的名稱。
在源端執行exp將該表數據按scn導出;可選步驟,僅用於需要執行初始化的表;如表為新表,可以直接在備份端執行建表sql,然後執行重起即可
在目標端執行imp將該表數據導入;可選步驟,僅用於需要執行初始化的表
在目標端系統上啟動復制進程repXX
GGSCI > start repXX
在源端系統上啟動源端的抓取進程extXX和傳輸進程dpeXX
GGSCI > start er *
在目標端系統上去掉沖突處理(如果不需要去掉沖突處理則無需做此步)
GGSCI > lag repXX
直到AT EOF,停止repXX進程:
ggsci> stop repXX
修改repXX.prm:
ggsci> edit param repXX.prm
在handlecollions前面加—將其註釋掉;
重新啟動repXX:
ggsci> start repXX
即可進入正常復制狀態。
增加復制表