查看: 1321|回复: 0

[Oracle数据库] Using Oracle Data Integrator Open Tools

发表于 2018-3-8 08:00:02

变化数据随时都可能生成,因此需要不断的将新的变化同步过去。有两种方法可以完成这个任务。

第一种办法可以通过计划实现。例如创建一个计划,每半个小时执行一次同步接口。这样可以每半个小时将变化数据同步到目标。此法需要注意计划的重复间隔,要保证在重复调用之前,上一次调用已经完成,一般可以用于定期同步的需求。 第二种办法是在创建一个包,利用ODI 提供的 CDC 相关的工具轮询日记,一旦有了变化就调用同步接口。此法可以满足实时性较高的需求。 1、创建Package

Designer->Projects->“项目名称”->First Folder->Packages,右击选择“New Package”,定义个名称,如下图:
Using Oracle Data Integrator Open Tools

2、设置关系图 2.1 OdiWaitForLogData

在关系图中添加用于 CDC 的工具: OdiWaitForLogData,属性如下图所示:
Using Oracle Data Integrator Open Tools
属性的配置将每1秒钟轮询WEB_CUSTOMER的日记表,直到发现1条变化记录。

2.2 添加映射

拖动映射到右边的关系图,属性如下图所示:
Using Oracle Data Integrator Open Tools

2.2 OdiSleep

在关系图中添加用于 CDC 的工具: OdiSleep,属性如下:
Using Oracle Data Integrator Open Tools
等待1秒,继续轮询。

3、执行包

执行包操作后,会发现这个包会一直在执行,并处于 OdiWaiteForLogData 这一步,如下图:
Using Oracle Data Integrator Open Tools
源表插入数据,SQL如下图:
Using Oracle Data Integrator Open Tools
在Operator中会发现已完成数据同步,并且进入下一个轮询:
Using Oracle Data Integrator Open Tools
当然,如果在源表删除或者更新一条数据,目标表也会同步删除或更新的。



回复

使用道具 举报