文档章节

Oracle Data Integrator 12c----一致性 CDC(Consistent CDC)

小强斋太
 小强斋太
发布于 2016/11/09 20:07
字数 1290
阅读 2
收藏 0
点赞 0
评论 0

一致性 CDC 中引入了变化集的概念。一个变化集中可以包括多个相互存在关联关系(如主外键引用关系)的表。CDC 在捕获和发布一个变化集中的变化时能够保证数据的一致性。这个练习介绍如何使用能够保证一致性的CDC。

1 环境准备

源表:ODI_SRC.DEPT,ODI_SRC.EMP

目标表:ODI_TAG.DEPT, ODI_TAG.EMP

配置拓扑结构见ODI Studio拓扑结构的创建与配置(Oracle)

模型反向工程见:Oracle Data Integrator 12c-模型(Model)和 数据存储(DataStore)

2导入并配置JKM

首先在项目中导入 JKM JKM Oracle Consistent

clip_image001

JKM 是为表生成并捕获日志的知识模块,需要在模型或表上面进行配置。

编辑模型ODI_SRC的日记记录,选择简单日记记录模式,并选择 JKM Oracle Consistent:

clip_image002

3启用 CDC 日记

一致性 CDC 同简单 CDC 在实现方式和功能上都有不同,但是在使用上大致相同。这里还是包含了这几步:添加到 CDC, 订阅 CDC,启动日记。

首先右键模型ODI_SRC→已更改数据捕获→添加到CDC

clip_image003

查看

clip_image004

右键模型ODI_SRC→已更改数据捕获→订户→订阅

clip_image005

在弹出窗口种输入订阅用户,如Consistent,然后添加

clip_image006

点击确定完成订阅。这会启动一个会话。请在 Operator 中检查会话完成情况。

clip_image007

接下启动日记:右键模型ODI_SRC→已更改数据捕获→启动日记

clip_image008

这个操作也会执行一个会话,该会话执行完之后也将会生成一些 CDC 专用的数据库对象。生成的内容同简单 CDC 类似。

4测试是否能够捕获变化

往 DEPT 中插入一行数据数据。

INSERT INTO ODI_SRC.DEPT (DEPTNO, DNAME, LOC) VALUES ('60', 'Assitant', 'BOSTON');

查看日记数据

clip_image009

继续插入数据

insert into odi_src.emp (empno, ename, job, mgr, hiredate, sal, comm, deptno)
values ('6000', 'miller', 'clerk', '7782', sysdate, '1300', null, '60');

查看日记数据

clip_image010

然后查询日记表:

SELECT * FROM "ODI_SRC_WORK"."JV$DDEPT";
SELECT * FROM "ODI_SRC_WORK"."JV$DEMP";

可以查询到数据

但是,如果你执行下面的 SQL 查询

SELECT * FROM "ODI_SRC_WORK"."JV$DEPT";
SELECT * FROM "ODI_SRC_WORK"."JV$EMP";

你会发现查询不到内容。这是因为一致性 CDC 提供了按窗口扩展,按用户锁定并访问日记数据的机制。我们需要这种机制来保证在捕获和发布变化数据的时候不违反一致性。

Designer 提供了界面来扩展窗口和锁定订户。

首先从模型 ODI_SRC 的右键弹出菜单中选择扩展窗口:

clip_image011

然后从模型 ODI_SRC 的右键弹出菜单中选择锁定订户:

clip_image011[1]

在弹出的窗口中选择并添加要锁定的订户,然后确定完成锁定:

clip_image012

这两个步骤都会提交一个会话。在 Operator 中查看会话执行情况。然后再查询视图

我们会发现视图中能看到变化数据了。

SELECT * FROM "ODI_SRC_WORK"."JV$DEPT";

clip_image013

SELECT * FROM "ODI_SRC_WORK"."JV$EMP";

clip_image014

5创建接口将变化数据同步到目标

在项目ODI_Exercise中创建接口Consistent_CDC_Dept 和 Consistent_CDC_Emp,这里以Consistent_CDC_Dept 表为例

在关系图中将 ODI_SRC 中的 EMP 添加到源,将 ODI_TRG中的 EMP 添加到目标数据存储,并自动映射。

然后选中源数据存储,选中“仅以进行日记记录的数据”,

clip_image015

指定日志过滤器,过滤器的内容是针对订户的,下面的例子表示当前接口将消费Consistent订户的数据:

clip_image016

其他的和一般的映射相同

然后配置好 LKM(使用LKM SQL TO Oracle),IKM(使用 Oracle Increamental Update),和 CKM。clip_image017

clip_image018

然后执行两个接口。我们看到变化数据被同步到了ODI_TAG中的DEPT和EMP表中。

但是我们会发现日记数据还在。也就是说对于使用了一致性设置的 CDC,接口同步完数据之后并不会自动清除日记。

我们需要执行另外两个操作来清除已经消费了的日记数据:解除锁定和清除日记。Designer 也提供了执行这两个操作的界面。

clip_image019 clip_image020

6创建一个包完成一个变化集的数据同步

一致性 CDC 会为一个模型创建一个变化集,变化集的名称同模型的名称相同。在ODI_SRC 变化集中包含了2张表:DEPT, EMP。

然后创建一个包CDC_Consistent_Pkg。在关系图中将模型ODI_SRC拖进来。指定类型为日记记录模型,选上扩展窗口和锁定订户,并且添加订户 Consistent:clip_image021

然后将 Consistent_CDC_Dept 和 Consistent_CDC_Emp拖进来。在最后再将模型 ODI_SRC 拖进来,指定类型为日记记录模型,选上清除日记和取消订户锁定,并且添加订户 Consistent:

clip_image021[1]

7循环执行

在上面的第一个日记记录模型ODI_SRC后面添加OdiWaitForLogData

clip_image001[4]

CDC集的名字可以通过下面的SQL查询

SELECT * FROM "ODI_SRC_WORK"."SNP_CDC_SET";

image

在上面的第2个日记记录模型ODI_SRC后面添加OdiSleep

clip_image002[4]

设置第一步为第一个模型ODI_SRC

参考:

http://odiexperts.com/cdc-consistent/

本文转载自:http://www.cnblogs.com/xqzt/p/4510970.html

共有 人打赏支持
小强斋太
粉丝 0
博文 181
码字总数 0
作品 0
广州
一步一步配置autolog CDC

CDC的全称是Change Data Capture,主要用在数据仓库中,对原数据库的数据进行抽取、传输到数据仓库中,用于进行分析和统计。CDC有同步模式和异步模式: 1. CDC同步模式: 通过trigger来实现。...

陶诗德 ⋅ 2014/08/29 ⋅ 0

深入了解当前ETL中用到的一些基本技术

【赛迪网-IT技术报道】前言: 数据集成是把不同来源、格式和特点的数据在逻辑上或物理上有机地集中,从而为企业提供全面的数据共享,是企业商务智能、数据仓库系统的重要组成部分。ETL是企业...

dwf07223 ⋅ 2014/09/17 ⋅ 0

从SQL Server到MySQL,近百亿数据量迁移实战

沪江成立于 2001 年,作为较早期的教育学习网站,当时技术选型范围并不大:Java 的版本是 1.2,C# 尚未诞生,MySQL 还没有被 Sun 收购,版本号是 3.23。工程师们选择了当时最合适的微软体系,...

狄敬超(3D) ⋅ 05/29 ⋅ 0

Oracle Data Integrator 介绍

本文介绍了 Oracle Data Integrator,它是一个基于 Java 的中间件,可以使用数据库在 SOA 中执行基于集合的数据集成任务。 现在,复杂的“可热插拔”系统和面向服务的体系结构 (SOA) 得到了广...

mj4738 ⋅ 2013/03/21 ⋅ 0

深入了解当前ETL中用到的一些基本技术

数据集成是把不同来源、格式和特点的数据在逻辑上或物理上有机地集中,从而为企业提供全面的数据共享,是企业商务智能、数据仓库系统的重要组成部分。ETL是企业数据集成的饕饩龇桨浮N恼麓覧...

bsbforever ⋅ 2015/01/12 ⋅ 0

干货分享:CDC实时数据复制,大神教你调性能

数据实时复制任务的成与败,取决于多方面的因素,例如:被复制数据本身情况,源系统和目标系统的自身运行状况,网络通讯方面,系统架构设计和实施人员专业技术水平等等。面对复杂而艰巨的任务...

勿忘初心321 ⋅ 2016/09/05 ⋅ 0

面向数据集成的ETL技术研究

数据集成是把不同来源、格式和特点的数据在逻辑上或物理上有机地集中,从而为企业提供全面的数据共享,是企业商务智能、数据仓库系统的重要组成部分。ETL是企业数据集成的主要解决方案。文章...

mj4738 ⋅ 2013/03/20 ⋅ 0

Introduction to Change Data Capture (CDC) in SQL Server 2008[转]

Change Data Capture records INSERTs, UPDATEs, and DELETEs applied to SQL Server tables, and makes a record available of what changed, where, and when, in simple relational 'chan......

长平狐 ⋅ 2012/09/04 ⋅ 0

基于CDC复制技术实现DB2大版本升级迁移

企业面临的困境 当前IT系统的软硬件迭代越来越频繁,特别是软件产品,客户生产系统中采用的软件都面临原厂的EOS风险。EOS即End Of Support,这是每个客户的IT部门都要面临的运维风险。当生产...

刘李明 ⋅ 2016/04/07 ⋅ 0

追踪记录每笔业务操作数据改变的利器——SQLCDC

对于大部分企业应用来用,有一个基本的功能必不可少,那就是Audit Trail或者Audit Log,中文翻译为追踪检查、审核检查或者审核记录。我们采用Audit Trail记录每一笔业务操作的基本信息,比如...

长平狐 ⋅ 2012/09/04 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

vbs 取文件大小 字节

dim namedim fs, s'name = Inputbox("姓名")'msgbox(name)set fs = wscript.createobject("scripting.filesystemobject") 'fs为FSO实例if (fs.folderexists("c:\temp"))......

vga ⋅ 4分钟前 ⋅ 0

高并发之Nginx的限流

首先Nginx的版本号有要求,最低为1.11.5 如果低于这个版本,在Nginx的配置中 upstream web_app { server 到达Ip1:端口 max_conns=10; server 到达Ip2:端口 max_conns=10; } server { listen ...

算法之名 ⋅ 今天 ⋅ 0

Spring | IOC AOP 注解 简单使用

写在前面的话 很久没更新笔记了,有人会抱怨:小冯啊,你是不是在偷懒啊,没有学习了。老哥,真的冤枉:我觉得我自己很菜,还在努力学习呢,正在学习Vue.js做管理系统呢。即便这样,我还是不...

Wenyi_Feng ⋅ 今天 ⋅ 0

博客迁移到 https://www.jianshu.com/u/aa501451a235

博客迁移到 https://www.jianshu.com/u/aa501451a235 本博客不再更新

为为02 ⋅ 今天 ⋅ 0

win10怎么彻底关闭自动更新

win10自带的更新每天都很多,每一次下载都要占用大量网络,而且安装要等得时间也蛮久的。 工具/原料 Win10 方法/步骤 单击左下角开始菜单点击设置图标进入设置界面 在设置窗口中输入“服务”...

阿K1225 ⋅ 今天 ⋅ 0

Elasticsearch 6.3.0 SQL功能使用案例分享

The best elasticsearch highlevel java rest api-----bboss Elasticsearch 6.3.0 官方新推出的SQL检索插件非常不错,本文一个实际案例来介绍其使用方法。 1.代码中的sql检索 @Testpu...

bboss ⋅ 今天 ⋅ 0

informix数据库在linux中的安装以及用java/c/c++访问

一、安装前准备 安装JDK(略) 到IBM官网上下载informix软件:iif.12.10.FC9DE.linux-x86_64.tar放在某个大家都可以访问的目录比如:/mypkg,并解压到该目录下。 我也放到了百度云和天翼云上...

wangxuwei ⋅ 今天 ⋅ 0

PHP语言系统ZBLOG或许无法重现月光博客的闪耀历史[图]

最近在写博客,希望通过自己努力打造一个优秀的教育类主题博客,名动江湖,但是问题来了,现在写博客还有前途吗?面对强大的自媒体站点围剿,还有信心和可能型吗? 至于程序部分,我选择了P...

原创小博客 ⋅ 今天 ⋅ 0

IntelliJ IDEA 2018.1新特性

工欲善其事必先利其器,如果有一款IDE可以让你更高效地专注于开发以及源码阅读,为什么不试一试? 本文转载自:netty技术内幕 3月27日,jetbrains正式发布期待已久的IntelliJ IDEA 2018.1,再...

Romane ⋅ 今天 ⋅ 0

浅谈设计模式之工厂模式

工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在工厂模式中,我们在创建对象时不会对客户端暴露创建逻...

佛系程序猿灬 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部