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