- 1、本文档共12页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ODI教程_SimpleCDC.
练习说明
这个练习介绍最简单的一种 CDC。在这里,每一张 CDC 的表的变化都是独立捕获的,不需要考虑多张存在主外键引用关系的表之间的数据一致性。
模型-反向工程
首先为模型 ORACLE_SH 中的SALES创建主键:
选择几个 ID 列作为主键
然后通过反向工程将 CHANNELS 添加到 ORACLE_SH 中。
然后在 TARGET_TGTWH 中创建关系图:Diagram_TGT
从ORACLE_SH 中将 CHANNELS 拖到关系图中,这种方式能在TARGET_TGTWH 中创建 CHANNELS 表,表结构同ORACLE_SH 中的 CHANNELS 相同:
将 CHANNELS 重命名为 TGT_CHANNELS,重命名的时候注意将资源名称也修改成TGT_CHANNELS,如下图:
然后为 TARGET_TGTWH 生成 DDL
选择同步 CHANNELS(不用选择TGT_SALES,因为没有必要在数据库中为事实表创建主键),并且将DDL 脚本生成到 Training_Project.DDL 文件夹中:
ODI 自动生成了创建表的 DDL,点击执行创建 TGT_CHANNELS 表:
在 Operator 中查看执行结果:
配置 JKM
JKM 是为表生成并捕获日志的知识模块,需要在模型和表上面进行配置。
首先在项目中导入 JKM。请导入JKM Oracle 10g Consistent (LOGMINER),JKM Oracle Consistent,JKM Oracle Simple 三个KM:
编辑模型ORACLE_SH 的日记记录,选择简单日记记录模式,并选择 JKM Oracle Simple:
启用 CDC
ODI 提供简易的界面来启用 CDC,包括下面的步骤:添加到 CDC, 订阅 CDC,启动日记。
首先在模型 ORACLE_SH 的弹出菜单中选择添加到 CDC:
点击刷新按钮可以看到模型 ORACLE_SH中的表的图表发生了变化,出现了黄色的小时钟:
接下来从模型 ORACLE_SH 的弹出菜单中选择启动日记(也可以对某一张表启动日记):
对于简单 CDC,启动日记的时候可以输入订阅的用户名。在弹出的窗口中录入订阅的用户名,如 SUNOPSIS,点击添加订户:
如果变化数据有多个异步消费者,则可以添加多个订户。
点击确定完成:
这将会启动一个会话,请在 Operator 中查看会话是否成功完成。这个会话会在数据库中创建一些对象:CDC 的数据字典表(SNP开头),日记表和视图(通常是J$河JV$开头),trigger(通常以T$开头)。
完成之后表的图标上的小时钟将变成红色:
测试是否能够捕获变化
SQLPLUS 连接到 Oracle 执行下面的SQL语句:
INSERT INTO SH.CHANNELS
(CHANNEL_ID,CHANNEL_DESC,CHANNEL_CLASS,CHANNEL_CLASS_ID,CHANNEL_TOTAL,CHANNEL_TOTAL_ID)
SELECT
-1,Test CDC 1,CHANNEL_CLASS,CHANNEL_CLASS_ID,CHANNEL_TOTAL,CHANNEL_TOTAL_ID
FROM SH.CHANNELS
WHERE CHANNEL_ID=2;
这将往 CHANNELS 中插入一行数据数据。
然后查询日记表:
select * from SH.j$channels;
我们可以看到还没有 COMMIT 的时候变化被捕捉到了日记表。
提交变化:
COMMIT;
这时我们也可以在 ODI 中查看日记数据:
创建接口将变化数据同步到目标
在项目 Training_Project 中创建接口 SPL_CDC_Channel_Int
在关系图中将 ORACLE_SH 中的 CHANNEL 添加到源,将 TARGET_TGTWH 中的 CHANNEL 添加到目标数据存储,并自动映射。然后选中源数据存储,选中“仅以进行日记记录的数据”,注意到选中该选项之后,源表会自动增加几个 JRN 开头的列。而且 ODI 会自动添加一个过滤器
过滤器的内容是针对订户的,下面的例子表示当前接口将消费’SUNOPSIS’订户的数据:
然后配置好 LKM(使用DBLINK),IKM(使用 Oracle Increamental Update),和 CKM。
执行 CDC 接口
执行SPL_CDC_Channel_Int,并在 Operator 中查看结果,我们看到插入了一条记录。
在模型中查看 TARGET_TGTWH 的 CHANNEL
文档评论(0)