Oracle GoldenGate 數據同步初始化最佳實戰(Data Pump)

全鏈路初始化標準化流程:

1)驗證同步鏈路連通性

     使用info extract/pump/replicat,detail命令覈實同步鏈路各進程trail文件及檢查點是否一致,如不一致,需要使用如下語句接通,如有必要還可在初始化開始前進行DML測試

   alter extract/pump/repilcat extseqno,extrba

2)檢查gv$transaction視圖,查看當前是否存在正在運行的長時間事務,如若存在需查明原因,要麼等待完成,要麼kill掉該事務。

3)在源端添加同步表的附加日誌

   如第2步中不存在無法kill掉的事務,則在源端執行(此步驟可選)

   alter extract tranlog threads 2 begin now

4)執行上述步驟後,

   在源端正常啓動extract和pump進程

   在目標端停止replicat進程

5)確保上述步驟完成後,開始進行導出操作,首先在確保源端數據庫無正在運行事務的情況下取出當前 SCN值,並記錄爲 SCN_INIT:

select current_scnfrom v$database;

select dbms_flashback.get_system_change_number current_scn from dual;

6)在源端使用expdp工具指定 flashback_scn 選項將同步鏈路的初始化數據導出

expdp exp_user/exp_passwd schemas=hx_zsj directory=dp_dir dumpfile=hx_zsj.dmp logfile=hx_zsj_2013***.log exclude=grant,statistics,trigger flashback_scn=SCN_INIT 

7)在目標端使用impdp工具導入,指定 table_exist_action=truncate 選項

impdp imp_user/imp_passwd schemas=hx_zsj directory=dp_dir dumpfile=hx_zsj.dmp logfile=hx_zsj_2013***.log table_exist_action=truncate

主數據同步注意事項

爲了保證初始化成功,在做初始化前應在同步目標端數據庫禁用觸發器、外鍵約束和具有DML操作的job,這些因素都可能導致初始化後兩端數據的不一致    

由於金三環境存在着交叉流向的級聯同步,數據鏈路複雜,在做數據同步初始化

時儘量選擇在業務禁止區間(一般在晚上),封閉數據運維入口,儘量保證同步

源端的數據禁止。

核心徵管主數據同步部分,初始化時儘量保證各個鏈路的工作完全分離,如儘量在納稅人、申報等生產數據到主數據庫同步的初始化完成後,再去做主數據庫往外分發的同步初始化。

在做初始化時,儘量避免在往一個庫導入的同時,在從該庫進行導出,以保證有足夠的undo資源可用。



轉載請註明作者出處及原文鏈接,否則將追究法律責任:

作者:xiangsir

原文鏈接:http://blog.csdn.net/xiangsir/article/details/11725801

QQ:444367417

MSN:[email protected]



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章