前一节已经完成了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完成数据集成(二)的更多相关文章

  1. 【ODI】| 数据ETL:从零开始使用Oracle ODI完成数据集成(三)

    资料库的创建.体系结构的创建.模型反向工程都已经完成了,下面就是创建以及执行接口来完成工作了. 浏览前两节请点击: [ODI]| 数据ETL:从零开始使用Oracle ODI完成数据集成(一) [OD ...

  2. 【ODI】| 数据ETL:从零开始使用Oracle ODI完成数据集成(一)

    0. 环境说明及软件准备 ODI(Oracle Data Integrator)是Oracle公司提供的一种数据集成工具,能高效地实现批量数据的抽取.转换和加载.ODI可以实现当今大多数的主流关系型数 ...

  3. 从零开始学习oracle

    引用博客:https://blog.csdn.net/qq_36998053/article/details/82725765 )Oracle之<环境配置> (二)Oracle之<基 ...

  4. 【转】Oracle当中扫描数据的方法

    本文将对oracle当中扫描数据的存取方法进行介绍. 1) 全表扫描(Full Table Scans, FTS) 为实现全表扫描,Oracle读取表中所有的行,并检查每一行是否满足语句的WHERE限 ...

  5. Oracle ODI系列之一(ODI知识模块)

    Oracle ODI系列之一(ODI知识模块)     ODI简介 ODI(Oracle Data Integrator)前身是Sunopsis Active Integration Platform ...

  6. 基于ETL技术的数字化校园共享数据中心设计

    摘要:数据的抽取.转换与加载(ETL)是数据整合的核心过程.在分析高校信息化建设现状基础上,以建立数字化校园.整合数据资源.实现数据共享为目标,提出以ETL为基础建立共享数据中心实现数据整合的方案.介 ...

  7. 大数据ETL详解

    ETL是BI项目最重要的一个环节,通常情况下ETL会花掉整个项目的1/3的时间,ETL设计的好坏直接关接到BI项目的成败.ETL也是一个长期的过程,只有不断的发现问题并解决问题,才能使ETL运行效率更 ...

  8. 分享MSSQL、MySql、Oracle的大数据批量导入方法及编程手法细节

    1:MSSQL SQL语法篇: BULK INSERT [ database_name . [ schema_name ] . | schema_name . ] [ table_name | vie ...

  9. 实现从Oracle增量同步数据到GreenPlum

    简介: GreenPlum是一个基于PostgreSQL数据库开发的MPP架构的数据库仓库,适用于OLAP系统,支持50PB(1PB=1000TB)级海量数据的存储和处理. 背景: 目前有一个业务是需 ...

随机推荐

  1. Java 锁机制 synchronized

    转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/75126630 本文出自[赵彦军的博客] 1.前言 在多线程并发编程中Synchro ...

  2. sql server 多行数据合并成一列

    首先是源数据: ),cip.CheckIn_StartTime, )),cip.CheckIn_EndTime, )),cip.Rental_Price)) as content from Check ...

  3. yii2实战之初见端倪

    PHP框架大PK php框架有很多种,在国内应用较多的有:Thinkphp, Yii, Laravel, Codeigniter等.关于这些框架,孰优孰劣,是一个极具争议性的话题.各方支持者总能拿出自 ...

  4. GitHub学习笔记:分支管理

    GitHub对于每个开发版本都需要有一个分支,默认的分支是master往往被大家保留下来作为主分支,分支类似于进程的一个指针,往往在master这个稳定的主干版本上分出一个或多个正在开发的分支版本,开 ...

  5. 8.Vue基础

    环境搭建 node.js安装 https://nodejs.org/en/ cnpm npm install -g cnpm --registry=https://registry.npm.taoba ...

  6. Python 基础【二】 上

    一.python语言分类 1. C python   c语言的python版本 官方推荐 使用C语言实现,使用最为广泛,CPython实现会将源文件(py文件)转换成字节码文件(pyc文件),然后运行 ...

  7. unity3d学习路线

    自学游戏开发难不难?小编在这里告诉你:你首先要做的是选择一门开发语言,包括Basic,Pascal,C,C++,等等.也经常会有人争论对于初学者哪门语言更好.对于这一系列流行语言的讨论,我的建议是以C ...

  8. DataFrame

    DataFrame是一个表格型的数据结构,含有一组有序的列,每列可以是不同的值类型(数值.字符串.布尔值等),DataFrame就行索引也有列索引,可以被看做由Series组成的字典(共用同一个索引) ...

  9. Vlan 原理

    VLAN(Virtual LAN),翻译成中文是"虚拟局域网".LAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计算机构成的企业网络.VLAN所指的LAN特指使用路由 ...

  10. Spring Cloud Zuul 限流详解(附源码)(转)

    在高并发的应用中,限流往往是一个绕不开的话题.本文详细探讨在Spring Cloud中如何实现限流. 在 Zuul 上实现限流是个不错的选择,只需要编写一个过滤器就可以了,关键在于如何实现限流的算法. ...