關於OGG單表同步

lingsam發表於2013-03-21
       在OGG運維過程中,會因為某些引數設定不合理或跳rba等操作,導致生產端與災備端資料的表一致,因此會根據需要做該表的同步工作。以下步驟可線上做。
在同步之前應注意:
(1)確認
ext/pump程式均無較大延遲,否則建議追平再執行操作;
(2)估算匯出後dmp檔案大小,以放入足夠大小的檔案系統中存放;

生產端:

1) 在源端獲得當前的scn號。例如:

select dbms_flashback.get_system_change_number from dual;

以下以獲得的scn號為6681為例

2) 在源端使用exp匯出所需重新初始化的表或者幾張表資料,並且指定到剛才記下的scn號。如:

exp system file=/backup/hapms.dmplog=/backup/hapms.log tables=(app.mwt_ud_pd_sb_cjqxtj )buffer=64000 grants=n statistics=none triggers=n compress=n FLASHBACK_SCN=6681

注意:其中路徑/backup以空間足夠 (預留10G空間)、且實際存在的路徑為準。

也可選擇資料泵匯出。

3) 通過ftp傳輸到目標端(IP:10.108.xx.xx,目錄:/backup/imp下);

災備端

1) 在目標端,使用imp匯入資料;

nohup imp goldengate/XXXXX file=hapms.dmp fromuser=mw_app touser=mw_app ignore=y &

2) 如果該表有外來鍵,在目標端檢查該外來鍵並禁用;

3) 新建replicat程式,將該表放入該複製程式中。編輯對應的rep引數檔案,在其map裡面加入一個過濾條件

map app.mwt_ud_pd_sb_cjqxtj , target app.mwt_ud_pd_sb_cjqxtj , filter ( @GETENV ("TRANSACTION", "CSN") > 6681 ) ;

4) 確認引數無誤後,啟動目標端的rep程式;

5) 使用info repxx或者lag repxx直到該程式追上,停止該程式去掉filter即可進入正常複製。

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

相關文章