前提条件:

1)安装Oracle ODI

2)安装Oracle XE数据库

3)创建数据库用户odi/apps, odi_work/apps, odi_ess/apps, odi_obj/apps

4)在odi_ess与odi_obj(源数据与目标数据存储位置)创建数据库表 cux_users/cux_sites

建表脚本为:

create table cux_users

(user_id NUMBER,

username VARCHAR2(20),

email VARCHAR2(20),

phone VARCHAR2(20));

create table cux_sites

(site_id NUMBER,

user_id NUMBER,

site_use_code VARCHAR2(20),

address1 VARCHAR2(100));

5)在odi_ess下的cux_users/cux_sites中添加数据

1、创建主存储库(开始菜单–所有程序–Oracle Data Integrator–Oracle Data Integrator–Repository Management–Master Repository Creation,创建主存储库)

ODI所有模块的信息都保存在一个叫做Master Repository的中心知识库中。Master Repository通过Master Repository Creation Wizard创建,这也是安装完ODI后应该做的第一个任务。

除了Master Repository,还需要为不同的任务创建Work Repository。Work Repository中的信息包括模块信息,项目信息和运行期信息。

0818b9ca8b590ca3270a3433284dd417.png

2、连接主存储库(开始菜单–所有程序–Oracle Data Integrator–Oracle Data Integrator–Topology Manager)

1)选择新建

0818b9ca8b590ca3270a3433284dd417.png

2)登录名可以随意,用户和密码必须为:SUPERVISOR/SUNOPSIS,主存储库选择第1步中创建的主存储库

0818b9ca8b590ca3270a3433284dd417.png

点击测试测试连接是否成功,如果成功,确定登录进Topology Manager。

3、创建上下文(登录Topology Manager。切换到上下文Tab页,右键新建上下文)

物理模式信息的修改不影响逻辑模式的引用,但如果物理模式数据库服务器的连接信息改变,就比较麻烦.上下文的出现就是允许逻辑模式通过上下文连接多个物理模式,避免因为连接信息改变而重新定义。当然,上下文是匹配所有物理模式的。

输入名称、密码(可选,输入密码后以后每一次使用该上下文都将要求输入密码,大小写严格匹配)后,直接点击“确定”

0818b9ca8b590ca3270a3433284dd417.png

4、创建工作存储库(登录Topology Manager。切换到存储库Tab页,右键新建插入工作存储库)

0818b9ca8b590ca3270a3433284dd417.png

这里的用户选择odi_work,工作存储库存在于表odi.snp_rem_rep中,ODI是主存储库的用户。

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

5、创建数据库服务器(登录Topology Manager。切换到物理体系结构Tab页,在技术中选择“Oracle”,右键“插入数据服务器”)

在“定义”与“JDBC”Tab页中填写相应信息,这里的odi_ess是源数据存储的地方,测试连接正常后直接点“确定

0818b9ca8b590ca3270a3433284dd417.png

6、创建物理架构(在第5步中创建的数据库服务,右键“插入物料架构”)

在“定义”Tab页中填写信息,直接点击“确定”

0818b9ca8b590ca3270a3433284dd417.png

7、创建逻辑架构(登录Topology Manager。切换到逻辑体系结构Tab页,在技术中选择“Oracle”,右键“插入逻辑架构”)

为每一个上下文选择对应的物料架构

0818b9ca8b590ca3270a3433284dd417.png

注:按照上面的步骤创建新的数据库服务ODI.ODI_OBJ,物料架构为ODI.ODI_OBJ.ODI.OBJ,逻辑架构为ODI.OBJ_LogicalSchema(此数据库服务是为目标数据用户创建的)

8、登录工作存储库(通过Designer登录工作存储库)

第一次登录选择“新建”,登录名任意,用户名/密码必须为SUPERVISOR/SUNOPSIS,主存储库选择上面创建的主存储库

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

9、创建项目(通过第8步登录Designer,在“项目”Tab中创建新项目)

0818b9ca8b590ca3270a3433284dd417.png

10、导入知识模块(在ODI_DEMO/知识模块中导入需要的知识模块)

ODI的知识模块主要分为几个大类(RKM,CKM,LKM,IKM,SKM),其中最重要的是LKM(load KM)和IKM(Integration KM)RKM:

RKM完成从源系统和目标系统的数据结构的反向工程来形成数据模型的功能。

CKM:CKM完成数据质量检查。

LKM:LKM完成从源数据库数据加载到临时表。

IKM:IKM完成从临时表的数据加载到目标表。

SKM:SKM完成ODI和WEB服务接口的功能。

SKM(Service KM):Web服务知识模块,可以使用该知识模块来生成Web服务调用

注:这里将导入LKM/CKM/IKM中的部分知识模块内容选择LKM,右键“导入知识模块”,在文件路径中选择/oracledi/impexp,在导入文件中选择

IKM File to SQL

IKM SQL to SQL

选择CKM,右键“导入知识模块”,在文件路径中选择/oracledi/impexp,在导入文件中选择

CKM Oracle

选择IKM,右键“导入知识模块”,在文件路径中选择/oracledi/impexp,在导入文件中选择

IKM Oracle Incremental Update

0818b9ca8b590ca3270a3433284dd417.png

11、创建模型(在“模型”Tab页中创建新模型)

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

选择“反向”,将odi_ess用户下以“CUX_”打头的数据表载入模型中(选中“CUX_USERS”,右键“查看数据”,将显示载入的数据)

0818b9ca8b590ca3270a3433284dd417.png

注:以同样的方式将odi_obj用户下以“CUX_”打头的数据库载入ODI.ODI_OBJ模型中

12、添加约束(为CUX_USERS/CUX_SITES添加键约束)

在ODI.ODI_ESS/ODI.ODI_OBJ中选中CUX_USERS/CUX_SITES,展开,选择“约束”,右键“插入键”

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

13、创建接口(选择ODI_DEMO,展开,选中“接口”,右键“插入接口”)

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

注:在弹出窗口“是否自动映射”中选择“确定”

注意观察“流”与“控件”Tab页中的内容(如果没有“LKM”与“CKM”选项为空,请检查项目知识模块的导入是否正确)

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

14、执行“接口”,观察执行结果

0818b9ca8b590ca3270a3433284dd417.png

在ToolBar上选择“Operator”,查看会话执行结果

0818b9ca8b590ca3270a3433284dd417.png

对于执行出错的会话,可右键查看错误原因

0818b9ca8b590ca3270a3433284dd417.png

15、检查导入数据如上图“8007”会话,执行成功后返回“Designer”中查看ODI.ODI_OBJ模型下的CUX_USERS,右键“查看数据”,将看到数据成功导入

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐