本文介绍如何通过ODI从MySQL同步数据到Oracle。

1、定义物理体系结构

1.1 创建新的MySQL数据服务器
Topology->Physical Architecture->MySQL,右击选择New Data Server,在Definition对话框输入相关信息,如下图:
ETL MySQL in Oracle ODI 12c_第1张图片
在JDBC对话框输入如下信息,如下图:
ETL MySQL in Oracle ODI 12c_第2张图片
点击保存。
1.2 创建MySQL的物理方案
Topology->Physical Architecture->MySQL->“HUE_MySQL”,在Definition对话框输入名称以及数据库,点击保存。
ETL MySQL in Oracle ODI 12c_第3张图片

2、定义逻辑体系结构

Topology->Logical Architecture->MySQL,右击选择“New Logical Schema”,在definition对话框选择对应的物理方案
,点击保存。
ETL MySQL in Oracle ODI 12c

3、定义MySQL模型

Designer->Models->New model,如下图所示
ETL MySQL in Oracle ODI 12c_第4张图片
点击“保存”。接着点击“Reverse Engineer”,同步MySQL的表结构。
之前已经同步了一份Oracle数据库表结构,这里直接使用即可。如果没有,还需按照上述步骤创建。

4、创建项目

Designer->Projects->New Project,输入名称,点击保存。
ETL MySQL in Oracle ODI 12c

5、创建映射

Designer->Projects->MySQL_To_Oracle->Mapping,右击选择“New Mapping”,然后拖动源表和目标表进行链接,如下图:
ETL MySQL in Oracle ODI 12c_第5张图片
这里的知识模块选择“LKM SQL to SQL (Built-In).GLOBAL”,如下图所示:
ETL MySQL in Oracle ODI 12c_第6张图片
注意:
A、如果遇到MySQL的字段类型和Oracle的字段类型不匹配时,在Model里编辑源表和目标表的字段类型即可。
B、在映射图中的逻辑选项里,设置目标表的target的Integration Type为Incremental Update即可,如下图:
ETL MySQL in Oracle ODI 12c_第7张图片
C、千万别忘记点击“保存”。

6、验证映射

点击图中箭头所示的图标进行验证,如果报错根据实际情况进行修改。
ETL MySQL in Oracle ODI 12c_第8张图片