【ODI】| 数据ETL:从零开始使用Oracle ODI完成数据集成(一)
0. 环境说明及软件准备
ODI(Oracle Data Integrator)是Oracle公司提供的一种数据集成工具,能高效地实现批量数据的抽取、转换和加载。ODI可以实现当今大多数的主流关系型数据库(Oracle、DB2、SQL Server、MySQL、SyBase)的集成。
ODI提供了图形化客户端和agent(代理)运行程序。客户端软件主要用于对整个数据集成服务的设计,包括创建对数据源的连接架构、创建模型及反向表结构、创建接口、生成方案和计划等。Agent运行程序是通过命令行方式在ODI服务器上启动的服务,对agent下的执行计划周期性地执行。
任何数据驱动的集成,都可以使用ODI, ODI的常见应用场景:
数据仓库:比如ETL阶段。
数据迁移:比如将某一源系统的数据迁移到新系统中。
数据集成:比如两个系统间高效的点到点数据传递。
数据复制:比如将一个Instance的数据复制另外一个Instance中。
闲言少叙,进入正题。首先,ODI是Oracle的数据集成工具,需要安装Oracle数据库,可以从Oracle官网下载安装,先要在官网上注册一个账号,找到下载页,最好把下面的client(客户端)也一并安装了吧,我安装的是Oracle11g win64位的,官网下载页如下:

安装过程比较简单,只是中间需要设置管理口令,记住就行。ODI也同样在Oracle的官网上下载。

将下载的ODI安装文件解压,就会包含两个文件夹,注意不同版本的安装,运行方式是不同的,我装的32位的ODI,需要运行Disk1\install\win32下的安装程序setup.exe。如下:

运行安装程序,直接下一步,步骤2选【跳过软件更新】;

步骤3选择安装类型,勾选一下即可;

步骤6选【跳过资料档案库配置】;

步骤7指定代理

下一步,直至安装完成。也可自行下载安装PL/SQL Developer,可以方便连接和管理数据库,当然这不是必须的,可用其它工具代替。全部安装完成后如下:

1. 创建数据库用户
在Oracle数据库中为ODI的资料库创建用户,ODI的资料库分为主资料库和工作资料库。资料库所产生的数据就是存放在Oracle数据库中的。
主资料库保存所有IT资源的Topology,保存项目和数据模型的安全信息、版本信息,供ODI图形模块等使用。
工作资料库保存项目和数据模型,供ODI图形模块等使用。
工作资料库需要连接到一个主资料库,为了逻辑清晰,我创建两个Oracle用户,分别存放主资料库和工作资料库的数据。
打开pl/sql,以管理员身份登陆到Oracle数据库。

【文件】>>【新建】>>【SQL窗口】>>输入创建用户的SQL语句>>【执行】

工作资料库用户的创建方式和主资料库一样,SQL语句如下:
CREATE USER J_ODI_ZLK --主资料库用户名
IDENTIFIED BY zlk123 --密码
DEFAULT TABLESPACE USERS; --默认表空间
GRANT CONNECT,RESOURCE TO J_ODI_ZLK;--授权用户
CREATE USER J_ODI_GZK --工作资料库用户名
IDENTIFIED BY gzk123 --密码
DEFAULT TABLESPACE USERS; --默认表空间
GRANT CONNECT,RESOURCE TO J_ODI_GZK;--授权用户
2. 创建主资料库
在Oracle中创建完用户后,就可以在ODI中创建主资料库。首先在开始菜单中找到已安装的ODI 并启动。

【文件】>>【新建】,打开新建库对话框,选择【主资料档案库创建向导】>>【确定】。

进入数据库连接窗口,在这里需要填写刚在Oracle数据库中为主资料库创建的用户信息以及Oracle数据库的DBA用户信息。需注意的是JDBC URL项中localhost为Oracle数据库的IP地址,我用的本地机器,就直接写localhost;orcl为Oracle数据库的实例名。信息输入完成后,点击一下测试连接,成功则可进入下一步。

这一步需要创建ODI超级用户SUPERVISOR,在窗口中输入密码即可,该密码要记住,后面会用到。

完成后ODI即开始创建主资料库,稍等就会出现成功创建主资料库的对话框。

主资料库创建完成后,就可以在ODI中连接到刚创建的主资料库了。点击ODI左侧边栏上方的【连接到资料档案库】,弹出登陆对话框,点击【登录名】后面的加号。

进入配置主资料库的连接信息,如下图所示。

配置完成后点击【确定】即可进入主资料库。

3. 创建工作资料库
主资料库完成后,并不能进行实质的开发工作,还需要创建一个工作资料库,在工作资料库中才可以进行工作。接上一环节,进入主资料库后,点击左侧边栏上方的【拓扑】标签,点击【资料档案库】,在【工作资料档案库】上单击鼠标右键,选择【新建工作资料档案库】。

进入工作资料库的连接配置,配置完成点击【下一步】。

进入配置工作资料库的名称以及密码。输入后点击【完成】即可。工作资料库创建成功后,系统会弹出【是否为工作资料档案库创建登录】对话框,提示是否为该工作资料库创建登录名,可以选择【否】,一会在连接工作资料库时在创建也是一样。

工作资料库创建完成后,就可以在ODI中连接到刚创建的工作资料库了。在连接之前,先要断开已经连接的主资料库,【ODI】>>【断开连接”J_ZLK”】。

断开主资料库的连接后,再点击ODI左侧边栏上方的【连接到资料档案库】,弹出登陆对话框,点击【登录名】后面的加号。

进入创建工作资料库的连接配置窗口,如下图所示。

配置完成,点击【确定】即可登陆到工作资料库,就可以开始work了。
至此,前期的基本配置工作已经完成了,后面就可以正式开始创建具体的数据集成方案了。
4. 工作场景说明
【ODI】| 数据ETL:从零开始使用Oracle ODI完成数据集成(二)
5. 创建物理体系结构
【ODI】| 数据ETL:从零开始使用Oracle ODI完成数据集成(二)
6. 创建逻辑体系结构
【ODI】| 数据ETL:从零开始使用Oracle ODI完成数据集成(二)
7. 创建模型
【ODI】| 数据ETL:从零开始使用Oracle ODI完成数据集成(二)
8. 创建项目及接口
【ODI】| 数据ETL:从零开始使用Oracle ODI完成数据集成(三)
9. 执行接口
【ODI】| 数据ETL:从零开始使用Oracle ODI完成数据集成(三)
【ODI】| 数据ETL:从零开始使用Oracle ODI完成数据集成(一)的更多相关文章
- 【ODI】| 数据ETL:从零开始使用Oracle ODI完成数据集成(三)
资料库的创建.体系结构的创建.模型反向工程都已经完成了,下面就是创建以及执行接口来完成工作了. 浏览前两节请点击: [ODI]| 数据ETL:从零开始使用Oracle ODI完成数据集成(一) [OD ...
- 【ODI】| 数据ETL:从零开始使用Oracle ODI完成数据集成(二)
前一节已经完成了Oracle数据库和ODI的安装,并已经为ODI在Oracle数据库中创建了两个用户,分别用于存放主资料库数据和工作资料库数据,在ODI中完成主资料库和工作资料库的创建,也分别为其创建 ...
- 【转】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运行效率更 ...
- 从零开始学习oracle
引用博客:https://blog.csdn.net/qq_36998053/article/details/82725765 )Oracle之<环境配置> (二)Oracle之<基 ...
- 分享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)级海量数据的存储和处理. 背景: 目前有一个业务是需 ...
随机推荐
- 解决ExtJs Uncaught TypeError: c is not a constructor错误
ExtJs项目使用sencha app build编译以后,浏览时很容易抛出Uncaught TypeError: c is not a constructor的错误,而且会加载没有名称的js,例如 ...
- 运算符优先级--C
优先口决 括号成员第一; //括号运算符[]() 成员运算符. -> 全体单目第二; //所有的单目运算符比如++ -- +(正) -(负) 指针运算*& 乘除余三,加减四; //这个& ...
- Django入门三之urls.py重构及参数传递
1. 内部重构 2. 外部重构 website/blog/urls.py website/website/urls.py 3. 两种参数处理方式 -1. blog/index/?id=1234& ...
- SSH项目的pom.xml文件
<!-- 属性 --> <properties> <spring.version>4.2.4.RELEASE</spring.version> < ...
- Flask构建微电影(一)
第一章.项目介绍 1.1.前言 本教程我将带领大家如何使用flask框架开发微电影网站.Flask是python中最受欢迎的轻量级web框架,flask扩展丰富,冗余度小,可自由选择组合各种插 ...
- DX11 Without DirectX SDK--02 渲染一个三角形
回到 DirectX11--使用Windows SDK来进行开发 目前暂时没有写HLSL具体教程的打算,而是着重于如何做到不用DirectX SDK来进行渲染.除此之外,这里也没有使用Effects框 ...
- mysql中如何处理字符
concat函数 使用方法: CONCAT(str1,str2,…) 返回结果为连接参数产生的字符串.如有任何一个参数为NULL ,则返回值为 NULL. 注意: 如果所有参数均为非二进制字符串,则结 ...
- canvas实现3D魔方
摘要:使用canvas实现可交互的3D魔方 一.简单分析 魔方物理性质: 1.中心块(6个):中心块与中心轴连接在一起,但可以顺着轴的方向自由的转动. 2.棱块(12个):棱块的表面是两个正方形,结构 ...
- SwipeListView 详解 实现微信,QQ等滑动删除效果
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/28508769 今天看别人项目,看到别人使用了SwipeListView,Goog ...
- Spring_boot简单操作数据库
Spring_boot搭配Spring Data JPA简单操作数据库 spring boot 配置文件可以使用yml文件,默认spring boot 会加载resources目录的下的applica ...