欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-04-12 09:19:26
ODI(Oracle Data Integrator)是Oracle公司提供的一种数据集成工具,能高效地实现批量数据的抽取、转换和加载。ODI可以实现当今大多数的主流关系型数据库(Oracle、DB2、SQL Server、MySQL、SyBase)的集成。ODI提供了图形化客户端和agent(代理... ......

0. 环境说明及软件准备

odi(oracle data integrator)是oracle公司提供的一种数据集成工具,能高效地实现批量数据的抽取、转换和加载。odi可以实现当今大多数的主流关系型数据库(oracle、db2、sql server、mysql、sybase)的集成。

odi提供了图形化客户端和agent(代理)运行程序。客户端软件主要用于对整个数据集成服务的设计,包括创建对数据源的连接架构、创建模型及反向表结构、创建接口、生成方案和计划等。agent运行程序是通过命令行方式在odi服务器上启动的服务,对agent下的执行计划周期性地执行。

任何数据驱动的集成,都可以使用odi, odi的常见应用场景:

    1. 数据仓库:比如etl阶段。

    2. 数据迁移:比如将某一源系统的数据迁移到新系统中。

    3. 数据集成:比如两个系统间高效的点到点数据传递。

    4. 数据复制:比如将一个instance的数据复制另外一个instance中。

闲言少叙,进入正题。首先,odi是oracle的数据集成工具,需要安装oracle数据库,可以从oracle官网下载安装,先要在官网上注册一个账号,找到下载页,最好把下面的client(客户端)也一并安装了吧,我安装的是oracle11g win64位的,官网下载页如下:

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

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

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

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

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

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

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

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

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

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

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

步骤7指定代理

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

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

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

1. 创建数据库用户

在oracle数据库中为odi的资料库创建用户,odi的资料库分为主资料库和工作资料库。资料库所产生的数据就是存放在oracle数据库中的。

主资料库保存所有it资源的topology,保存项目和数据模型的安全信息、版本信息,供odi图形模块等使用。

工作资料库保存项目和数据模型,供odi图形模块等使用。

工作资料库需要连接到一个主资料库,为了逻辑清晰,我创建两个oracle用户,分别存放主资料库和工作资料库的数据。

打开pl/sql,以管理员身份登陆到oracle数据库。

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

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

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

工作资料库用户的创建方式和主资料库一样,sql语句如下:

1 create user j_odi_zlk    --主资料库用户名 
2 identified by zlk123      --密码  
3 default tablespace users;   --默认表空间  
4 grant connect,resource to  j_odi_zlk;--授权用户
6 create user j_odi_gzk    --工作资料库用户名 
7 identified by gzk123      --密码  
8 default tablespace users;   --默认表空间  
9 grant connect,resource to  j_odi_gzk;--授权用户

2. 创建主资料库

在oracle中创建完用户后,就可以在odi中创建主资料库。首先在开始菜单中找到已安装的odi 并启动。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

3. 创建工作资料库

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

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

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

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

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

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

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

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

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

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

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

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

配置完成,点击【确定】即可登陆到工作资料库,就可以开始work了。

至此,前期的基本配置工作已经完成了,后面就可以正式开始创建具体的数据集成方案了。