【ODI】| 数据ETL:从零开始使用Oracle ODI完成数据集成(二)
前一节已经完成了Oracle数据库和ODI的安装,并已经为ODI在Oracle数据库中创建了两个用户,分别用于存放主资料库数据和工作资料库数据,在ODI中完成主资料库和工作资料库的创建,也分别为其创建了登陆用户,最后,登陆到ODI的工作资料库中,在工作资料库中,我们就可以完成数据的集成工作了,下面是一个简单的数据集成工作场景,我们用ODI完成这项工作。
浏览前一节请点此:【ODI】| 数据ETL:从零开始使用Oracle ODI完成数据集成(一)
4. 工作场景说明
工作场景说明:
业务系统A使用SQL Server2012数据库,数据库名称为A_SRC,有表T_USER,JGH为主键,表结构及数据如下:

业务系统B使用Oracle数据库,实例名为orcl,用户名为B_TAG,有表T_EMP,EID为主键,表结构及数据如下:

用ODI将A系统中表T_USER的数据集成到B系统中的表T_EMP中。
在ODI中完成上面的工作需要经过下面的步骤:
创建物理体系结构》》创建逻辑体系结构》》创建模型》》创建项目》》创建接口》》执行接口。
如果我们要接口能够自动定时、定期执行,就还需求创建代理,用代理完成接口的执行,关于代理的使用,后面再另开一节。
5. 创建物理体系结构
(1)创建源系统物理体系结构(系统A,SQL Server2012数据库,数据库名A_SRC)
ODI登陆到工作资料库>>【拓扑】>>【物理体系结构】>>【技术】>>【Microsoft SQL Server】,单击右键选择【新建数据服务器】。

数据服务器【定义】标签配置界面如下图所示:

数据服务器【JDBC】标签配置界面如下图所示,JDBC驱动程序可以点击文本框后面的放大镜选择,JDBC URL自行输入数据库服务器的IP地址以及端口(SQL Server默认为1433)。

配置完成后,点击ODI的【保存】按钮,系统会弹出要求创建一个物理方案,【确定】即可。

下面为源系统创建物理方案,展开【物理体系结构】下面的【Microsoft SQL Server】,即可看到刚创建的【J_WL_SRC】,单击右键选择【新建物理方案】。

源系统物理方案【定义】标签配置界面如下图所示,输入源系统数据库名称及所有者即可。输入完成后点击保存,系统会弹出没有指定上下文的警告对话框,先忽略之。

(2)创建目标系统物理体系结构(系统B,Oracle数据库,实例名orcl,用户名B_TAG)
ODI登陆到工作资料库>>【拓扑】>>【物理体系结构】>>【技术】>>【Oracle】,单击右键选择【新建数据服务器】。

数据服务器【定义】标签配置界面如下图所示:

数据服务器【JDBC】标签配置界面如下图所示,JDBC驱动程序可以点击文本框后面的放大镜选择,JDBC URL自行输入数据库服务器的IP地址以及端口(Oracle默认为1521)及实例名。

配置完成后,点击ODI的【保存】按钮,系统会弹出要求创建一个物理方案,【确定】即可。下面为目标系统创建物理方案,展开【物理体系结构】下面的【Oracle】,即可看到刚创建的【J_WL_TAG】,单击右键选择【新建物理方案】。

目标系统物理方案【定义】标签配置界面如下图所示,输入目标系统Oracle数据库用户名即可。输入完成后点击保存,系统会弹出没有指定上下文的警告对话框,先忽略之。

OK,物理体系结构已经建立完成,最终结果如下图所示:

6. 创建逻辑体系结构
(1)创建源系统逻辑体系结构(系统A,SQL Server2012数据库,物理方案名J_WL_SRC)
【拓扑】>>【逻辑体系结构】>>【技术】>>【Microsoft SQL Server】,单击右键选择【新建逻辑方案】。

逻辑方案【定义】标签配置界面如下图所示,在上下文对应的地方选中刚创建的源系统物理方案。保存即可。

(2)创建目标系统逻辑体系结构(系统B,Oracle数据库,物理方案名J_WL_TAG)
【拓扑】>>【逻辑体系结构】>>【技术】>>【Oracle】,单击右键选择【新建逻辑方案】。

逻辑方案【定义】标签配置界面如下图所示,在上下文对应的地方选中刚创建的目标系统物理方案。保存即可。

7. 创建模型
(1)创建源系统模型(系统A,SQL Server2012数据库,源表T_USER)
【设计器】>>【模型】>>【新模型】

模型【定义】标签配置如下图:

模型【逆向工程】标签可以勾选要进行逆向工程的对象类型。根据实际情况,一般勾选表和视图即可。

通常源系统数据库中的表比较多,可以在【选择性逆向工程】标签中勾选需求中指定的表进行逆向工程。依据之前设定的工作场景,这里我们只勾选表T_USER,然后直接点击左上角的【逆向工程】按钮,会弹出【确认】对话框,点【是】即可。

逆向工程完成后即可在【模型】>>【J_MX_SRC】里看到表T_USER的结构。

(2)创建目标系统模型(系统B,Oracle数据库,目标表T_EMP)
【设计器】>>【模型】>>【新模型】

模型【定义】标签配置如下图:

同源系统逆向工程操作一样,此处【逆向工程】标签勾选表和视图。

同源系统逆向工程操作一样,在【选择性逆向工程】标签中勾选指定表进行逆向工程。依据之前设定的工作场景,这里我们只勾选表T_EMP,然后直接点击左上角的【逆向工程】按钮,会弹出【确认】对话框,点【是】即可。

逆向工程完成后即可在【模型】>>【J_MX_TAG】里看到表T_EMP的结构。

创建项目、接口,执行接口:【ODI】| 数据ETL:从零开始使用Oracle ODI完成数据集成(三)
【ODI】| 数据ETL:从零开始使用Oracle ODI完成数据集成(二)的更多相关文章
- 【ODI】| 数据ETL:从零开始使用Oracle ODI完成数据集成(三)
资料库的创建.体系结构的创建.模型反向工程都已经完成了,下面就是创建以及执行接口来完成工作了. 浏览前两节请点击: [ODI]| 数据ETL:从零开始使用Oracle ODI完成数据集成(一) [OD ...
- 【ODI】| 数据ETL:从零开始使用Oracle ODI完成数据集成(一)
0. 环境说明及软件准备 ODI(Oracle Data Integrator)是Oracle公司提供的一种数据集成工具,能高效地实现批量数据的抽取.转换和加载.ODI可以实现当今大多数的主流关系型数 ...
- 从零开始学习oracle
引用博客:https://blog.csdn.net/qq_36998053/article/details/82725765 )Oracle之<环境配置> (二)Oracle之<基 ...
- 【转】Oracle当中扫描数据的方法
本文将对oracle当中扫描数据的存取方法进行介绍. 1) 全表扫描(Full Table Scans, FTS) 为实现全表扫描,Oracle读取表中所有的行,并检查每一行是否满足语句的WHERE限 ...
- Oracle ODI系列之一(ODI知识模块)
Oracle ODI系列之一(ODI知识模块) ODI简介 ODI(Oracle Data Integrator)前身是Sunopsis Active Integration Platform ...
- 基于ETL技术的数字化校园共享数据中心设计
摘要:数据的抽取.转换与加载(ETL)是数据整合的核心过程.在分析高校信息化建设现状基础上,以建立数字化校园.整合数据资源.实现数据共享为目标,提出以ETL为基础建立共享数据中心实现数据整合的方案.介 ...
- 大数据ETL详解
ETL是BI项目最重要的一个环节,通常情况下ETL会花掉整个项目的1/3的时间,ETL设计的好坏直接关接到BI项目的成败.ETL也是一个长期的过程,只有不断的发现问题并解决问题,才能使ETL运行效率更 ...
- 分享MSSQL、MySql、Oracle的大数据批量导入方法及编程手法细节
1:MSSQL SQL语法篇: BULK INSERT [ database_name . [ schema_name ] . | schema_name . ] [ table_name | vie ...
- 实现从Oracle增量同步数据到GreenPlum
简介: GreenPlum是一个基于PostgreSQL数据库开发的MPP架构的数据库仓库,适用于OLAP系统,支持50PB(1PB=1000TB)级海量数据的存储和处理. 背景: 目前有一个业务是需 ...
随机推荐
- JVM学习记录-垃圾回收算法
简述 因为各个平台的虚拟机的垃圾收集器的实现各有不同,所以只介绍几个常见的垃圾收集算法. JVM中常见的垃圾收集算法有以下四种: 标记-清除算法(Mark-Sweep). 复制算法(Copying). ...
- java8完全解读一
java8完全解读 java8完全解读前言java8的一些新特性1.为什么要用java8?1.1首先想到的逻辑应该是如下1.2使用策略模式来解这个问题1.3使用策略模式和内部类来解决问题1.4使用策略 ...
- Eclipse下Maven新建Web项目index.jsp报错完美解决(war包)
Eclipse下Maven新建Web项目步骤 1. 2. 3. 4. 5. 问题描述 最近用eclipse新建了一个maven项目,结果刚新建完成index.jsp页面就报错了,先把错误信息贴出来看看 ...
- css多类选择器
<!DOCTYPE html> <html lang="zh-CN"> <head> <style type="text/css ...
- shiro 权限管理配置
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...
- va_start,va_arg,va_end的使用
一.在C中,当我们无法列出传递函数的所有实参的类型和数目时,可以用省略号指定参数表. void fun(...); void fun(parm_list,...); #include <stdi ...
- JDK1.8的新特性
JAVA8新特性 接口改善 现在接口里已经完全可以定义静态方法了. 举一个比较普遍的例子就是在java类库中, 对于一些接口如Foo, 都会有一个有静态方法的工具类Foos 来生成或者配合Foo对象实 ...
- Maven学习(七)-- 使用Maven构建多模块项目
摘自:http://www.cnblogs.com/xdp-gacl/p/4242221.html 在平时的Javaweb项目开发中为了便于后期的维护,我们一般会进行分层开发,最常见的就是分为doma ...
- centos7 mysql安装
一.系统环境 [root@localhost home]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) 二.mysql安装 ...
- c语言常见的几种排序方法总结
一:选择排序和冒泡排序 这两种排序比较简单,直接贴出代码: #include <stdio.h> void choose_sort(int *arr, int n); void bubbl ...