博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用OGG添加唯一标识字段到目标表
阅读量:4583 次
发布时间:2019-06-09

本文共 805 字,大约阅读时间需要 2 分钟。

    利用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'));

这样,在trail中的table表,就会附加上对应的这3条信息。然后在目标端的表,新增3个字段,保存这3条信息,可以通过 TOKEN 获取得到。

目标端配置

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:

Refer to documentation: https://docs.oracle.com/goldengate/1212/gg-winux/GWUAD/wu_datainteg.htm#GWUAD468,

转载于:https://www.cnblogs.com/margiex/p/10519401.html

你可能感兴趣的文章
【转载】HTTP 错误 500.19 - Internal Server Error
查看>>
2015 Multi-University Training Contest 3 hdu 5325 Crazy Bobo
查看>>
SQL Server 存储图片
查看>>
php特级课---4、网站服务监控(常用网站服务监控软件有哪些)
查看>>
ubuntu14.04 boost 1.58.0 安裝
查看>>
漏洞基本概念
查看>>
直角三角形 (Standard IO)
查看>>
web 12
查看>>
Centos7安装Nginx
查看>>
探讨在线支付平台支付接口的设计
查看>>
【设计模式】常用设计模式总结
查看>>
.NET中的六个重要概念
查看>>
二十九、简谈设计模式
查看>>
js中数组的检测方法
查看>>
[译]GotW #6a: Const-Correctness, Part 1
查看>>
JAVA基础学习之 Map集合、集合框架工具类Collections,Arrays、可变参数、List和Set集合框架什么时候使用等(4)...
查看>>
用Python学分析 - 单因素方差分析
查看>>
2018个人年终总结
查看>>
[编辑排版]小技巧---markdown 转 richText
查看>>
JSON_UNESCAPED_UNICODE
查看>>