GoldenGate初始載入過程變化資料處理

yezhibin發表於2012-04-03
         對GoldenGate初始載入過程中,通常採用ORACLE工具進行匯入和匯出,在

其匯入/匯出過程中,源資料庫有可能在此期間發生變化,我們需要設定extract獲取

該變化的資料,確保源和目標資料一致。

        以下是具體的實施步驟,(配置檔案裁剪,只保留基本功能)

1、配置mgr
GGSCI>edit param mgr
       port 7809
       dynamicportlist 7800-7820
       autorestart er *, retries 5, waitminutes 1

2、配置extract ext1
GGSCI> edit param ext1
      extract ext1
      userid goldengate, password goldengate
      exttrail /home/oracle/gg10g/dirdat/ya
      table test.test1;

GGSCI>add ext ext1,tranlog, begin now
GGSCI>add exttrail /home/oracle/gg10g/dirdat/ya, ext ext1, megabytes 10

3、配置pump程式
GGSCI>edit param dpe1
    extract dpe1
    rmthost 172.16.130.36, mgrport 7810
    passthru
    rmttrail /home/oracle/gg11g/dirdat/ta
    table test.test1;

GGSCI>add ext dpe1, exttrailsource /home/oracle/gg10g/dirdat/ya
GGSCI>add rmttrail /home/oracle/gg11g/dirdat/ta, ext dpe1, megabytes 10

4、在目標資料庫新增checkpoint table,GG強烈建議配置該引數
GGSC>edit param ./GLOBALS
   checkpointtable goldengate.checkpoint

GGSCI>dblogin userid goldengate, password goldengate
---該命令將建立checkpoint表
GGSCI>add checkpointtable goldengate.checkpoint

備註:對於多個rep程式配置,可以共用一個checkpoint表,也可以每個rep使用自己的checkpoint表,需要在新增rep組命令列進行指定。另外修改為其他的checkpoint 表,需要重啟mgr程式。

5、目標配置mgr
GGSCI>edit param
port 7810
dynamicportlist 7800-7820
autorestart er *, retries 5, waitminutes 1

6、配置replicat
GGSCI>edit rep rep1
replicat rep1
userid goldengate, password goldengate
assumetargetdefs
handlecollisions
discardfile /home/oracle/gg11g/dirrpt/rep1.dsc, purge
map test.test1, target test.test1;

GGSCI>add rep rep1, exttrail /home/oracle/gg10g/dirdat/ya, checkpointtable goldengate.checkpoint

7、啟動源資料庫的mgr和EXT,開始捕獲變化資料
GGSCI>start mgr
GGSCI>start ext *

8、採用exp/imp命令進行表的匯入匯出

9、目標資料庫禁止複製表的約束和trigger,生成的指令碼並執行:
SQL>spool disable_fk.sql
SQL>select 'alter table '||owner||'.'||table_name||' disable constraint '||
          constraint_name||';' from all_constraints
          where delete_rule='CASCADE'
          and wner='TEST';
SQL>spool off
SQL>spool disable_trigger.sql
SQL>select 'alter trigger '||owner||'.'||trigger_name||' disable;'
          from all_triggers
          where wner='TEST'
SQL>spool off

10、啟動目標
GGSCI>start mgr
GGSCI>start rep rep1

11、檢視程式的時間資訊
GGSCI>info rep1

12、完成後,才引數檔案去除handlecollisions引數,同時執行
GGSCI>send rep rep1, nohandlecollisions





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

相關文章