GoldenGate在異構環境下的複製

shilei1發表於2014-05-05

今天一個網友問我這樣一個問題,如何實現把源端3個欄位的表中的內容複製到目標端2個欄位的表中。這個問題我想很多朋友也會遇到。現在我把我實現的思路拿出來給大家分享,希望對大家的學習有所幫助。

    在開始我們的實驗之前先明確幾個引數和概念:

    assumetargetdefs:Use the ASSUMETARGETDEFS parameter when the source and target tables specified with a MAP statement have identical column structure, such as when synchronizing a hot site. 

    SOURCEDEFS:Source definitions are required when using GoldenGate in a heterogeneous synchronization environment, where source and target table structures are different. To generate the source-definitions file, use the DEFGEN utility. Transfer the file to the intermediary or target system before starting the data pump or Replicat.

  

    開始我們的實驗:

    實驗環境:

    oracle 10G

    source table ggs.qs(id,name,address)

    target table ggt.qt (id,name)

   

    使用defgen建立源表定義檔案

    1、編輯defgen檔案

    DEFSFILE qs.def
    userid goldengate,password goldengate
    table ggs.qs;

    2、執行defgen命令

    defgen param dirprm/defgen.prm

    3、把生成的def檔案傳輸到目標端

 

    編譯GoldenGate的引數:

    ext1.prm
    extract ext1
    userid goldengate,password goldengate
    rmthost 127.0.0.1, mgrport 7809
    rmttrail d:\ggs\dirdat\r1
    dynamicresolution
    table ggs.qs,cols(id,name);  

    rep1.prm

    replicat rep1
    userid goldengate,password goldengate
    SOURCEDEFS qs.def
    reperror default,discard
    discardfile d:\ggs\dirrpt\rep1.dsc,append
    dynamicresolution
    map ggs.qs, target ggt.qt; 

   

    啟動GoldenGate程式進行驗證吧。

 

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

相關文章