全鏈路初始化標準化流程:
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