Oracle GoldenGate 資料同步初始化最佳實戰(Data Pump)

shilei1發表於2014-05-17

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

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資源可用。

相關閱讀:

RAC環境下管理OGG-HA

RAC環境下配置OGG同步

GoldenGate單向表DML同步

Oracle GoldenGate 系列:Extract 程式的恢復原理

Oracle GoldenGate安裝配置

Oracle goldengate的OGG-01004 OGG-1296錯誤

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

相關文章