Oracle ODI 12c之Setting Up Simple CDC

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle ODI 12c之Setting Up Simple CDC相关的知识,希望对你有一定的参考价值。

本文介绍如何使用Oracle ODI 12c的Simple CDC。它是最简单的一种 CDC。这种模式下,每一张 CDC 的表的变化都是独立捕获的,不需要考虑多张存在主外键引用关系的表之间的数据一致性。

1、导入知识模块

在此之前,已经所有的知识模块导入,而CDC功能的知识模块如下图所示:
技术分享图片

2、设置模型CDC参数

打开对应的模型,设置Journalizing Mode为Simple,如下图:
技术分享图片

3、CDC配置

3.1 添加datastores

在模型中,右击要添加到CDC的表,如下图所示进行添加或者删除操作:
技术分享图片
在模型的Journalizing Tables中可以查看到,如下图:
技术分享图片

3.2 启动journals

在模型中,右击已添加到CDC的表,如下图所示启动或者关闭journal:
技术分享图片
启动完日志后,图标的左上角会出现一个绿色的小时钟图案,说明已成功设置。

4、初始化数据

此步骤根据实际情况而定。

4.1 创建映射

映射图如下所示:
技术分享图片

4.2 设置target的integration type

注意,在映射图的logical结果中,点击目标表,设置Target的Integration Type为Control Append,如下图所示:
技术分享图片

4.3 设置Loading Knowledge Module

技术分享图片

4.4 设置Integration Knownledge Module

技术分享图片
如果在初始化数据之前,想清空目标表,可以设置truncate_target_table和delete_all参数的值为true。

4.5 目标表导入初始化数据

在启动映射之前,先校检下映射。执行结果如下图:
技术分享图片
到此,初始化数据已导入目标表。

5、同步变化数据

5.1 设置源数据存储

设置源表只同步有变化的数据。选择源数据存储,选中“Journalized Data Only”,如下图:
技术分享图片

5.2 设置Loading Knowledge Module

这里需要设置Loading Knowledge Module的模式为“LKM SQL To Oracle”。如下图:
技术分享图片

5.3 设置Integration Knownledge Module

设置Integration Knownledge Module的模式为“IKM Oracle Incremental Update”。如下图:
技术分享图片
最后,保存所有设置。

5.4 源数据存储插入新数据

技术分享图片
然后,在模式中,选择源数据存储查看新增的数据,如下图:
技术分享图片
技术分享图片

5.5 目标同步数据

技术分享图片
技术分享图片
数据同步完之后,源表的Journalized Data就会被清除。ODI 同步完一张表的变化数据后,相应的订户的日记数据将被清空。这种方式非常简单,但是对于多张存在主外键引用关系的表的数据同步将会有可能造成数据不一致的情况。对于这种复杂的情况需要一致性 JKM,此模块在后面介绍。

以上是关于Oracle ODI 12c之Setting Up Simple CDC的主要内容,如果未能解决你的问题,请参考以下文章

Oracle Data Integrator 12c 安装(ODI安装)

ETL PostgreSQL in Oracle ODI 12c

ETL MySQL in Oracle ODI 12c

Loading Data From Oracle To Hive By ODI 12c

Oracle Data Integrator之代理创建

Oracle ODI 12c之多表联合查询以及定时任务设置