使用OGG添加惟一標識字段到目標表

    利用GoldenGate,能夠獲取到變動記錄在源端對應的redo日誌序號,redo中的地址RBA,若是源端是RAC,還能夠拿到源端節點的編號,經過這3個值,能夠定位該變動記錄的惟一性。
這些信息,在GoldenGate抽取時,能夠經過內置函數獲取獲得,而後寫入到trail中,從而在目標端經過token函數從trail獲得相關數據,而後插入到目標表中造成惟一鍵。
以下示例:
源端抽取的配置
TABLE src.table, TOKENS (
   redoseq = @GETENV('RECORD','FILESEQNO'),
   redorba = @GETENV('RECORD', 'FILERBA'),
   redothread = @GETENV('TRANSACTION', 'REDOTHREAD'));java


這樣,在trail中的table表,就會附加上對應的這3條信息。而後在目標端的表,新增3個字段,保存這3條信息,能夠經過 TOKEN 獲取獲得。oracle

目標端配置ide

map src.table, target tgt.table2, colmap(useDefaults,
   redoseq=@TOKEN('redoseq'), redoseq=@TOKEN('redoseq'),  redoseq=@TOKEN('redoseq'));函數


針對java adapter接口或big data定製開發平臺,可以使用 op.getToken(userTokenName) 獲得token值。日誌

ref: https://blogs.oracle.com/dataintegration/ogg-custom-adapters%3a-how-to-include-a-unique-identifier-for-every-record-in-custom-adapter
Refer to documentation: https://docs.oracle.com/goldengate/1212/gg-winux/GWUAD/wu_datainteg.htm#GWUAD468,htm

相關文章
相關標籤/搜索