ITPub博客

首页 > 数据库 > Oracle > ODI-双库间单表CDC增量同步(含代理配置)

ODI-双库间单表CDC增量同步(含代理配置)

原创 Oracle 作者:linfeng_oracle 时间:2017-06-13 08:43:17 0 删除 编辑

环境:

源数据库source,用户source_u,表source_t

源数据库target,用户target_u,表target_t

 

1. 将源端数据初始化到目标端

见上篇文章《odi-双库间单表全量同步》。

 

源端数据:

SQL> select * from sou_u.sou_t;

 

        ID NAME

---------- --------------------------------------------------

         1 Tom

         2 Jimmy

         3 Li Ming

 

目标端数据:

SQL> select * from tar_u.tar_t;

 

        ID NAME

---------- --------------------------------------------------

         1 Tom

         2 Jimmy

         3 Li Ming

 

2. 添加CDC Simple模式

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

 

 

2.2添加CDC

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

 

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

 

2.3订阅订户

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

 

 

  

之后打开模型中的表查看如下: 

 

 

 

2.4启动日志

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

 

 

3. 配置接口增量同步

打开初始化所建的接口,需要在仅已进行日记记录的数据上打勾

选中“仅已进行日记记录的数据”则会出现一个小漏斗。点击小漏斗(即过滤器),在属性监察器中修改筛选条件为:JRN_SUBSCRIBER=’subscriber_0527’此处的subscriber_0527就是我们前面添加的订阅者。

 

 

 

保存接口。

 

4. 数据验证

源端执行:

SQL> insert into sou_u.sou_t values (4,'CDC test');

 

1 row created.

 

SQL> commit;

 

Commit complete.

 

SQL> insert into sou_u.sou_t values (0,'CDC test');

 

1 row created.

 

 

 

执行接口。

 

 

执行后目标端数据库:

SQL> select * from target_t;

 

        ID NAME

---------- --------------------------------------------------

         1 Tom

         2 Jimmy

         3 Li Ming

         4 CDC test

         0 CDC test

数据同步成功。

 

 

5. 配置agent,并定时执行

配置物理代理

 

 

配置逻辑代理

 

 

接口添加需要调用的代理

 

 

右键插入调试