insert into values (52,'William','Kudo','28/03/1993',sysdate); end;
16. 检查新创建的命令并保存。
17. 展开Procedure-CRT-TBL > 过程,选择刚刚创建的过程PRD-create-populate-table并选择执行
18. 打开ODI操作,点击所有执行,点刷新图标,找到刚启动的过程,检查是否成功执行。
19. 打开SQL developer双击ODI_STAGE连接,选择表节点,单击刷新按钮,双击新创建的表SRC_SALES_PERSON1,单击数据标签,确认SRC_SALES_PERSON1表已经正确创建,并初始化了数据。
例子二、创建项目和接口将数据从一个表导入到另一个表
1. 打开设计器页,新建项目
将项目命名为ODI_exp_FT_RT
2. 引入知识模块LKM File to SQL、CKM Oracle 和IKM SQL Incremental Update。
3. 打开SQL developer,使用以下的语句创建表TRG_SALES_PERSON
CREATE table \
\ \ \ \ \
constraint \ )
4. 在ODI中打开拓扑导航页,选择物理体系结构,展开技术节,右键单击Oracle并选择
新建数据服务器
5. 在新建窗口,输入以下的参数。点JDBC标签 Parameter Value Name ODI_STAGE Instance/dblink (Data Server) ORCL User ODI_STAGE Password ODI_STAGE
设置JDBC连接
保存连接点“测试连接”
6. 展开Oracle节点,右键单击ODI_STAGE,选择新建物理方案
7. 在方案(方案)和方案(工作方案)下拉框,选择ODI_STAGE方案,点击保存按钮,关闭物理方案,在弹出的信息窗口选择确定
8. 打开逻辑体系结构,找到技术->Oracle,右键单击Oracle并选择新建逻辑方案
9. 将逻辑方案命名为ODI_STAGE,设置Global上下文的物理方案为,保存并关闭。
10. 建立模型 点模型
输入以下参数:
名称: Oracle_RDBMS1 技术: Oracle 逻辑方案: ODI_STAGE
在逆向工程页设置如下,关闭Oracle_RDBMS1页
11. 右键单击Oracle_RDBMS1选择逆向工程
12. 在ODI设计器中依次展开项目->ODI_exp_FF_RT->第一个文件夹,右键单击接口选择新建接口
接口命名为INT-EXP-FF-RT,反选临时区域与目标区不同复选框,点映射页签。
从模型中将SRC_SALES_PERSON拖和TRG_SALES_PERSON拖到如下的区域
结果如下,点“控制”
确认CKM选择器选择的是CKM Oracle
13. 保存并执行
点开操作查看执行结果
例子三、CDC抽取
1. 添加知识模块
在前面例子使用的项目ODI_exp_FT_RT中添加知识模块JKM Oracle Simple
2. 设计器\\模块\\Oracle_RDBMS1\\双击\\日记记录 ODI已经默认选择模式为“简单”、KM为“JKM Oracle Simple. ODI_exp_FT_RT”
3. 添加到CDC
设计器\\模块\\Oracle_RDBMS1\\SRC_SALES_PERSON1\\右键\\已更改数据捕获\\添加到CDC
操作完成后可以看到表的左上角增加了一个黄色的时钟 4. 添加订阅
设计器\\模块\\Oracle_RDBMS1\\SRC_SALES_PERSON1\\右键\\已更改数据捕获\\订户\\订阅
添加订户CDCT,订户名字可以为任意值,在设置后边的接口的Filter时要用到
5. 启动日记
设计器\\模块\\Oracle_RDBMS1\\SRC_SALES_PERSON1\\右键\\已更改数据捕获\\启动日记
日记启动以后可以看到左上方的黄色时钟标示变成绿色 6. 测试
在SRC_SALES_PERSON1表中修改一条记录然后再增加一条记录
设计器\\模块\\Oracle_RDBMS1\\SRC_SALES_PERSON1\\右键\\已更改数据捕获\\日记
数据
可以看到已经捕获到数据的变化情况 7. 接口启用CDC
双击例子二中建立的接口INT-EXP-FF-RT,点“映射”,点源端的表
勾选下面的“仅已进行日记记录的数据”,可以看到源区域多了一个漏斗状的过滤图标,点过滤图标,修改下面的实施区域内容为JRN_SUBSCRIBER = 'CDCT'。
保存后,执行接口确认刚刚捕获的变化数据已经全部同步到目标表中。
例子四、使用代理
1. 确认存在“拓扑\\物理体系结构\\代理\\WF_AGENT”和“拓扑\\逻辑体系结构\\代理
\\WF_AGENT”
如果不存在,新建物理代理和逻辑代理,新建的物理代理和逻辑代理如下: 物理代理:
逻辑代理:
2. 生成场景
项目\\ODI_exp_FI_RT\\第一个文件夹\\接口\\INT_EXP_FF_RT\\右键\\生成场景
项目\\ODI_exp_FI_RT\\第一个文件夹\\接口\\INT_EXP_FF_RT\\场景\\ INT_EXP_FF_RT版本001\\调度\\右键\\新建调度 填写以下参数: 代理: WF_AGENT 执行: 启动时
转到执行循环页修改为如下内容
经过以上设置,当启动代理WF_AGENT后程序会每一分钟执行一次接口 3. 启动代理 启动windows command窗口,转到目录D:\\Oracle\\Middleware\\Oracle_ODI1\\oracledi\\agent\\bin下,执行 \\可以看到如下结果
说明代理已经正常启动,接口就能够按照在前面调度中设置的频率执行了。
例子五、CDC抽取(Consistent Set) 环境准备
使用前面建立的用户ODI_STAGE登录Oracle数据库新建两张表,并修改soctt用户的权限:
create table DEPT (
DEPTNO NUMBER(2) not null, DNAME VARCHAR2(14), LOC VARCHAR2(13) );
alter table DEPT
add constraint PK_DEPT primary key (DEPTNO) using index; create table EMP (
EMPNO NUMBER(4) not null, ENAME VARCHAR2(10), JOB VARCHAR2(9), MGR NUMBER(4), HIREDATE DATE,
SAL NUMBER(7,2), COMM NUMBER(7,2), DEPTNO NUMBER(2) );
alter table EMP
add constraint PK_EMP primary key (EMPNO) using index; alter table EMP
add constraint FK_DEPTNO foreign key (DEPTNO) references DEPT (DEPTNO); --填充数据
INSERT INTO dept SELECT * FROM ; INSERT INTO emp SELECT * FROM ; --修改scott用户权限
grant connect,resource to scott; grant create view to scott;