GoldenGate重新同步個別表流程

db_wjw發表於2012-06-27
有時候業務必須24小時,沒法停機,如果某些表資料不一致,可以採用下列流程重新同步個別表
1、在目標端停止replicat程式
stop repprod
2、在源庫上查詢出當前scn號
SQL> select dbms_flashback.get_system_change_number from dual;

GET_SYSTEM_CHANGE_NUMBER
------------------------
               887914549
3、在源庫匯出需要重新同步的表
expdp lis directory=data_pump_dir dumpfile=lacommision.dmp logfile=lacommision.log tables=lacommision content=data_only flashback_scn=887914549
4、將匯出檔案傳到目標系統
scp oracle@10.0.1.10:/oracle/admin/lis/dpdump/lacommision.dmp /oracle/admin/lis/dpdump
5、清空目標庫中表的內容
truncate table lacommision;
6、將表匯入目標資料庫
impdp lis directory=data_pump_dir dumpfile=lacommision.dmp logfile=lacommision.log
7、將該表涉及到的相關約束給禁用
8、修改replicat程式引數檔案,在需要重新同步的表後指定過濾條件
map LIS.LACOMMISION, target LIS.LACOMMISION, filter (@GETENV ("transaction", "csn") > 887914549);
9、啟動目標端replicat程式
start repprod
10、等待追平了以後,就可以停掉replicat程式,去掉表後的過濾條件,然後重啟程式。

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

相關文章