Oracle Data Integrator 12c-模型(Model)和 数据存储(DataStore)

一、概念

Model模型:

描述关系型数据的模型. 是一组存放在特定的技术(如Oracle)的数据存储的集合。例如当技术为Oracle时,对应于数据库的Scheme

DataStore: 数据存储

一个模型中包含的元数据,对应于模型所在scheme中的表或视图。可以通过反向工程(reverse-engineered) 从真实的环境导入, 也可以在ODI 中创建

二、支持的操作

测试表格

DROP TABLE DEPT;

CREATE TABLE DEPT (
    DEPTNO NUMBER (2) CONSTRAINT PK_DEPT PRIMARY KEY,
    DNAME VARCHAR2 (14),
    LOC VARCHAR2 (13)
);

DROP TABLE EMP;

CREATE TABLE EMP (
    EMPNO NUMBER (4) CONSTRAINT PK_EMP PRIMARY KEY,
    ENAME VARCHAR2 (10),
    JOB VARCHAR2 (9),
    MGR NUMBER (4),
    HIREDATE DATE,
    SAL NUMBER (7, 2),
    COMM NUMBER (7, 2),
    DEPTNO NUMBER (2) CONSTRAINT FK_DEPTNO REFERENCES DEPT
);
View Code

插入数据

INSERT INTO DEPT VALUES (10,'ACCOUNTING','NEW YORK');
INSERT INTO DEPT VALUES (20,'RESEARCH','DALLAS');
INSERT INTO DEPT VALUES (30,'SALES','CHICAGO');
INSERT INTO DEPT VALUES (40,'OPERATIONS','BOSTON');
INSERT INTO EMP VALUES(7369,'SMITH','CLERK',7902,to_date('17-12-1980','dd-mm-yyyy'),800,NULL,20);
INSERT INTO EMP VALUES(7499,'ALLEN','SALESMAN',7698,to_date('20-2-1981','dd-mm-yyyy'),1600,300,30);
INSERT INTO EMP VALUES(7521,'WARD','SALESMAN',7698,to_date('22-2-1981','dd-mm-yyyy'),1250,500,30);
INSERT INTO EMP VALUES(7566,'JONES','MANAGER',7839,to_date('2-4-1981','dd-mm-yyyy'),2975,NULL,20);
INSERT INTO EMP VALUES(7654,'MARTIN','SALESMAN',7698,to_date('28-9-1981','dd-mm-yyyy'),1250,1400,30);
INSERT INTO EMP VALUES(7698,'BLAKE','MANAGER',7839,to_date('1-5-1981','dd-mm-yyyy'),2850,NULL,30);
INSERT INTO EMP VALUES(7782,'CLARK','MANAGER',7839,to_date('9-6-1981','dd-mm-yyyy'),2450,NULL,10);
INSERT INTO EMP VALUES(7788,'SCOTT','ANALYST',7566,to_date('13-JUL-87')-85,3000,NULL,20);
INSERT INTO EMP VALUES(7839,'KING','PRESIDENT',NULL,to_date('17-11-1981','dd-mm-yyyy'),5000,NULL,10);
INSERT INTO EMP VALUES(7844,'TURNER','SALESMAN',7698,to_date('8-9-1981','dd-mm-yyyy'),1500,0,30);
INSERT INTO EMP VALUES(7876,'ADAMS','CLERK',7788,to_date('13-JUL-87')-51,1100,NULL,20);
INSERT INTO EMP VALUES(7900,'JAMES','CLERK',7698,to_date('3-12-1981','dd-mm-yyyy'),950,NULL,30);
INSERT INTO EMP VALUES(7902,'FORD','ANALYST',7566,to_date('3-12-1981','dd-mm-yyyy'),3000,NULL,20);
INSERT INTO EMP VALUES(7934,'MILLER','CLERK',7782,to_date('23-1-1982','dd-mm-yyyy'),1300,NULL,10);
View Code

2.1 创建模型并逆向工程

设计器->模型->新模型图标,

clip_image001

在模型对话框的“定义”标签下,输入名称ODI_SRC,选择技术Oracle和逻辑方案ODI_SRC

在“逆向工程”标签下,选择上下文,如果没创建上下文就是Global,选择“要进行反向工程的对象类型”如“表、视图”等,此处只选择了表,保存。

右键模型->逆向工程 对逻辑方案对应的物理方案下的所有的表进行逆向工程。

clip_image002

也可以在“选择性逆向工程” 勾选”选择性逆向工程”和要进行逆向工程的表,点击逆向工程,只针对选择的表进行逆向工程。

clip_image003

逆向工程中

clip_image004

逆向工程完成后,会在Designer的模型框中看到建立好的模型:

clip_image005

同理,新建模型ODI_TAG并进行逆向工程

clip_image006

2.2 模型的导入导出

右键模型,导出,

clip_image007

clip_image008

会生成一个MOD_ODI_SRC.xml文件,可以用于导入

2.3 查看Datastore(数据存储)数据

右键模型,查看数据

clip_image009

clip_image010

2.4 新建数据存储并同步到数据库

Step1 右键模型,新建数据存储

clip_image011

Step2 输入表名

clip_image012

Step3 添加属性clip_image013 Step4 添加关键字、index等

clip_image014

clip_image015clip_image016

clip_image017

Step5 生成DDL,会在你指定的路径下生成一个过程

clip_image018

clip_image019

Step6 执行过程就可以同步到数据库

clip_image020

数据库多了一张表

clip_image021

2.5 生成服务

2.6 已更改数据捕获

posted on 2015-05-14 22:06  小强斋太  阅读(2085)  评论(0编辑  收藏  举报

导航