ODI利用CDC实现实时同步数据

(内容有借鉴其他文档,亲身实践成功~)

需求

table_02作为目标表,需要实时的与源数据表table_01同步(即table_01更新或者是插入或者是删除了一行记录,table_02能够实时的同步此操作----此处设置为延时10s同步------已经很了不得了 好伐!!!~~)

工具

ODI 11g,plsql,ORACLE 11G

正文

1.前期准备

新建表table_01,table_02,在表table_01中插入几行记录:

ODI利用CDC实现实时同步数据_第1张图片

在ODI中新建接口实现table_01送数给table_02-----I_table01_to_02

(由于前边的内容比较简单,具体过程略)

2.添加CDC(此处用的是SIMPLE模式)

2.1.在反向的模型中启用日志记录,选择对应的知识模块-----JKM Oracle Simple:

ODI利用CDC实现实时同步数据_第2张图片

2.2:添加CDC:

找到模型中的table_01,右击---->"已更改数据捕获"----->添加CDC;

注:被添加cdc的表一定是含有主键的表,否则会报错

2.3:订阅订户:

找到模型中的table_01,右击---->"已更改数据捕获"----->订户----->订阅;

2.4:启动日志:

找到模型中的table_01,右击---->"已更改数据捕获"----->启动日志;

3.新建包完成实时同步

3.1新建包

3.2:如下第一步是OdiWaitForLogData


ODI利用CDC实现实时同步数据_第3张图片

3.3:之前做的接口作为第二步(略):

需要在“仅已进行日记记录的数据上”打勾:


3.4:OdiSleep

ODI利用CDC实现实时同步数据_第4张图片


保存!!!

执行!!!

接下来,这个包就一直处于"正在运行"状态,每隔10s就会检查一次源表table_01是否更新,然后同步到table_02目标表中



你可能感兴趣的:(★ETL,--------【ODI】)