1、Oracle Data Integrator用户手册ORACLE DATA INTEGRATOR用户手册V 10.1.3沈阳东软软件股份有限公司第1章 安装1.1 安装前提条件安装文件包括:ODI图形化软件以及ODI Agent的安装文件;ODI Metadata Navigator的安装文件;安装ODI图形化软件需要JVM1.4.2或以上版本以及JDK1.4.2或以上版本支持安装ODI Agent需要JVM1.3.1或以上版本以及JDK1.4或以上版本支持。安装ODI Metadata Navigator需要兼容JSP1.2和Servlet2.3的Web Server,例如Tomcat;需要
2、JDK1.4或以上版本1.2 安装1.2.1 安装JDK1.51.2.2 安装Web Server1.2.3 安装图形化客户端打开安装包,在D:softwareodi_all_platforms_10.1.3.2.0setupwindows(根据操作系统不同路径也不同)下运行setup.exe或运行sh ./setup.bin图1-1-1 安装介绍图1-1-2 选择安装类型图1-1-3 选择安装路径图1-1-4 选择安装程序组图1-1-5 选择JDK如上图所示,安装ODI中可以由安装程序自己安装JDK,也可以选择机器上已经安装好的JDK,这里我们选择在1.1.1中安装好的JDK目录。图1-1-
3、6 安装总结图1-1-7 安装成功页面1.2.4 JDBC/JMS驱动安装ORACLE DATA INTEGRATOR通过JDBC的方式连接数据库,所以对于ORACLE这种关系型数据库需要将其自己的JDBC包拷贝到即ORACLE DATA INTEGRATOR安装路径的drivers目录中。举例来说,对于ORACLE数据库,需要把$ORACLE_HOME/jdbc/lib目录下的三个文件:class12.jar nls_charset12.jar和ojdbc14.jar拷贝到drivers目录中。1.3 配置1.3.1 数据库配置ORACLE DATA INTEGRATOR所有的资料(如数据源
4、配置、抽取接口等)都存储在数据库中,我们需要为它在数据库中建立两个用户:主资料库用户和工作资料库用户来存储这些信息,建议这两个用户使用单独的表空间。在ORACLE数据库中创建语句如下:create user snpm(主资料用户) identified by oracle(主资料用户口令)grant connect,resource to snpm create user snpw(工作资料用户) identified by oracle(工作资料用户口令)grant connect,resource to snpw1.3.2 创建主资料库打开程序-Oracle-Oracle Data Int
5、egrator - Repository Management -Master Repository Creation图1-3-1 创建主资料库然后填入相应信息:Driver:oracle.jdbc.driver.OracleDriverURL:jdbc:oracle:thin:DB Server Host Name or IP Address:Port of DB:Service Name of DBUSER:上一步创建的主资料库用户Password:上一步创建的主资料库用户口令Technology:资料库所在的数据库类型Language:主资料库使用的语言点击“OK”创建主资料库图1-3-
6、2 主资料库创建向导等待主资料库的创建,直至创建成功。1.3.3 连接主资料库打开程序-Oracle-Oracle Data Integrator -Topology Manager图1-3-3 连接主资料库创建新主资料库连接:图1-3-4 创建新主资料库填入相应信息Login Name:自定义的名称User:SUPERVISOR(必须是此用户名)Password:SUNOPSIS(必须是此口令)主资料库连接信息:USER:上一步创建的主资料库用户Password:上一步创建的主资料库用户口令Driver:URL:jdbc:oracle:thin:DB Server Host Name or
7、IP Address:Port of DB:Service Name of DB图1-3-5 存储库连接向导图1-3-6 主资料库登录1.3.4 创建工作资料库登录TOPOLOGY,打开存储库图1-3-7 打开存储库选择插入工作存储库图1-3-8 新建工作存储库填写下述工作资料库连接信息:Name:工作资料库连接名称Technology:资料库所在数据库类型Instance/dblink(Data Server):Oracle DB Service NameUser:4.2步骤中创建的工作资料库用户Password:4.2步骤中创建的工作资料库用户口令图1-3-9 填写工作存储库信息进入JDB
8、C页,填写JDBC Driver,以及URL JDBC:图1-3-10 填写工作存储库JDBC信息点击“OK”以后,出现工作资料库定义框:ID:注意不同的工作资料库的ID不能重复Type:选择下拉菜单中的一项Name:工作资料库名称Password:进入此工作资料库的口令,可以不设置图1-3-11 填写工作资料库信息“OK”以后等待工作资料库的创建1.3.5 连接工作资料库打开程序-Oracle-Oracle Data Integrator -Designer,新建工作资料库连接。图1-3-12 新建工作资料库连接填入连接信息Login Name:自定义的工作资料库连接名称User:SUPER
9、VISORPassword:SUNOPSIS(如果在Topology中修改了口令,需要填入修改后的口令)填入主资料库信息User:4.2步骤中创建的主资料库用户Password:4.2步骤中创建的主资料库用户Driver:URL:填入工作资料库信息Work Repository Name:工作资料库名称图1-3-13 填写工作资料库连接信息点击OK,进去Designer设计器图1-3-14工作资料库登录1.4 Scheduler Agent配置1.4.1 改变odiparams.bat文件文件在ODI安装路径oracledibin下。将文件中的下属部分加上REMrem set SNP_SECU
10、_DRIVER=org.hsqldb.jdbcDriverrem set SNP_SECU_URL=jdbc:hsqldb:hsql:/localhostrem set SNP_SECU_USER=sarem set SNP_SECU_ENCODED_PASS=rem set SNP_SECU_WORK_REP=WORKREPrem set SNP_USER=SUPERVISORrem set SNP_ENCODED_PASS=LELKIELGLJMDLKMGHEHJDBGBGFDGGH复制并改为如下:set SNP_SECU_DRIVER=oracle.jdbc.driver.OracleD
11、river(资料库所使用数据库的JDBC Driver,Topology-存储库-Master Repository定义框-连接对话框中JDBC Driver)set SNP_SECU_URL=jdbc:oracle:thin:localhost:1521:orcl (资料库所使用数据库的JDBC URL,Topology-存储库-Master Repository定义框-连接对话框中JDBC URL)set SNP_SECU_USER=snpm(Master Repository User)set SNP_SECU_ENCODED_PASS=set SNP_SECU_WORK_REP=WOR
12、KREP1(工作资料库名称)set SNP_USER=SUPERVISOR(资料库管理员)set SNP_ENCODED_PASS=其中两行PASS的值是通过“ODI安装路径oracledibinagent encode PASSWORD”得到的值(PASSWORD分别为SNPM用户和SUPERVISOR的密码)1.5 Metadata Navigator安装1.5.1 安装对于TOMCAT来说,只需将安装软件中的oracledimn文件夹及其所有内容拷贝到Tomcat安装路径webapps下即可。对于如ORACLE APPLICATION SERVER的应用服务器,需要发布安装包内setup
13、Manual路径下的oracledimn.war文件。1.5.2 配置1.5.2.1 拷贝数据库JAR文件将数据库安装路径下jdbclib下的JAR文件拷贝到应用服务器Metadata Navigator的lib路径下,如D:product10.1.3.1OracleAS_1j2eehomeapplicationsoracledimnoracledimnWEB-INFlib。对于ORACLE来说拷贝class12.jar nls_charset12.jar和ojdbc14.jar即可。1.5.2.2 资料库连接如果需要连接自定义的资料库,作以下操作将ODI客户端或者Agent安装路径下bins
14、nps_login_work.xml文件拷贝到ODI Metadata Navigator安装路径 WEB-INF下登录Metadata Navigator重启应用服务器,访问url如下:http:/:/oracledimn/第2章 在TOPOLOGY中建立数据源2.1 登录TOPOLOGY图2-1-1工作资料库登录2.2 物理体系结构(Physical Architecture)2.2.1 创建数据服务器和物理架构2.2.1.1 ORACLE数据源点击Topology-物理体系结构-技术-Oracle,右键Oracle,选择“插入数据服务器”图2-2-1插入数据服务器在“数据服务器”的编辑框
15、中,“定义”标签下,输入数据服务器名称,实例/DBLink(注意需要输入TNS Name),用户和口令:图2-2-2数据服务器定义以及“JDBC”标签下的内容如下:图2-2-3数据服务器JDBC定义点击“确定”后,会弹出“物理架构”定义框,首先定义Oracle数据源物理架构也就是DCP Schema如下,图2-2-3物理架构注意:架构是存储真正数据表的SCHEMA,工作架构是数据抽取过程中存储临时表的SCHEMA。一般来说可以为临时表存储单独建立一个SCHEMA。工作表前缀指的是数据抽取过程中建立的临时数据库对象的前缀,可以跟随需要修改,此处使用默认值。点击“确定”,会弹出如下内容:图2-2-
16、4上下文“确定”,忽略此信息,以后创建上下文,再为此物理架构定义上下文。如果存在多个ORACLE的数据源或目标,请为每个数据源或目标建立一个数据服务器以及物理架构。如下图所示:图2-2-5多个数据服务器2.2.1.2 文件型数据源接下来我们创建File下的数据服务器和物理架构。在File下已经创建了一个数据服务器FILE_GENERIC指向本机和物理架构FILE_GENERIC./demo/file。下面添加一个物理架构指向数据文件(如CUST_JOB.TXT)所在的文件夹如d:sunopsistraining20070327,右键Topology-物理体系结构-技术-File-FILE_GE
17、NERIC,选择“插入物理架构”,在“定义”标签下输入“目录”:图2-2-5文件数据服务器2.2.1.3 其它数据源2.2.1.3.1 MICROSOFT SQL SERVER1.拷贝JDBC驱动:需要在ODI所在平台安装Microsoft SQL Server 2000 Driver for JDBC,然后将安装路径lib目录下所有jar文件拷贝到ODI安装路径drivers目录下2.使用topology管理器,在物理体系结构找到Microsoft SQL Server一项,右键选择插入数据服务器,注意服务器一项要填写SQLSERVER的服务名,JDBC一项选择Microsoft SQL S
18、erver 2000 Driver for JDBC即可。2.2.1.3.2 DB2 9.X1.将DB2安装路径下I:Program FilesIBMSQLLIBjava目录中的两个文件:db2jcc.jar和db2jcc_license_cu.jar拷贝到ODI的drivers目录中。2.使用topology管理器,新建IBM DB2 UDB下的物理数据服务器,其中JDBC driver选择DB2 Universal JDBC Driver。注意一定要填写架构和工作架构的用户名,否则在其后的ETL过程中会有SQL语法错误。2.2.1.3.3 SYBASE ASE 12.X1.安装版本为ASE
19、 12.5。安装完毕后,拷贝安装路径下目录jConnect-5_5classes中的jconn2.jar到drivers目录中。2.使用topology管理器,新建Sybase AS Enterprise下的物理数据服务器,JDBC driver选择Sybase jConnect for JDBC。注意在填写JDBC URL时,host项对应的内容要填写本机的IP地址,如果填写LOCALHOST的话连接会出错,原因是SYBASE是基于IP地址监听服务的。2.2.1.3.4 EXCEL 20031.在系统为excel文件建立ODBC数据源2.使用topology管理器,在物理体系结构找到EXCE
20、L,JDBC driver选择Sun JDBC-ODBC bridge。3.注意在使用excel作为数据服务器时,需要在excel文件中制定datastore,具体操作如下:Oracle Data Integrator通过EXCEL中datastore的名字来识别表,在EXCEL中命名datastore,请执行以下几个步骤:打开Excel 文档,选择需要的单元格,在菜单中选择“插入 - 名称-定义,如下图所示图2-2-6定义EXCEL datastore输入名称,点击OK。图2-2-6定义EXCEL datastore的名称注意:Excel表格中第一行会被Oracle Data Integra
21、tor认作是字段名称。2.2.1.3.5 ACCESS 2003与excel的设置类似。2.2.1.3.6 MYSQL1.拷贝MYSQL的JDBC驱动到ODI安装路径下的drivers目录下2.使用topology管理器,在物理体系结构找到MYSQL,JDBC driver选择MySQL Connector/J即可。2.2.1.3.7 FOXPRO1.下载FOXPRO JDBC DRIVER,将jar文件拷贝至ODI安装路径下的drivers目录。此次测试使用的FOXPRO JDBC DRIVER为HXTT DBF 3.0.003。2.登陆TOPOLOGY,选择DBASE技术,新建物理架构,J
22、DBC驱动程序填写com.hxtt.sql.dbf.DBFDriver,URL填写jdbc:dbf:/dbf文件所在目录。在新建模型时注意,不要在模型里选择方向,需要手工插入数据存储,保证数据存储的结构与dbf文件的结构完全相同即可。此时就可以在ODI看到dbf文件中的数据了。3.FOXPRO版本应为Visual Foxpro 6.0以上。2.3 上下文在系统中已经有了一个上下文Global,我们采用此上下文,不再新建。2.4 逻辑体系结构2.4.1 创建不同技术下的逻辑结构右键Topology-逻辑体系结构-技术-Oracle,选择“插入逻辑架构”,在逻辑架构对话框的“定义”标签中输入“名称
23、”,“上下文”以及对应的“物理架构”:图2-4-1插入逻辑架构如果存在多个ORACLE数据服务器,请为每个数据服务器建立一个逻辑架构。其它类型的数据服务器建立逻辑架构的过程与以上所述类似。2.5 代理ORACLE DATA INTEGRATOR连接数据库有两种方式,一种是直接连接,另一种通过代理来连接数据库(当数据库所在的服务器是物理隔绝时,可以在数据库服务器的前置机上安装代理,通过该代理连接数据库)。2.5.1 物理体系结构中的代理右键Topology-物理体系结构-代理,选择“插入代理”,在代理对话框的“定义”标签下,输入名称、主机,可以改变端口:图2-5-1新建物理体系结构代理2.5.2
24、 逻辑体系结构中的代理右键Topology-逻辑体系结构-代理,选择“插入逻辑代理”,在逻辑代理对话框的“定义”标签下,输入名称、上下文以及对应的物理代理:图2-5-2新建逻辑体系结构代理至此,Topology中的定义工作完成。第3章 数据抽取3.1 建立模型登录Designer图3-1-1 登录设计器3.1.1 ORACLE模型Designer-模型,点击插入模型图标,在模型对话框的“定义”标签下,输入名称,选择技术和逻辑架构。图3-1-2 新建模型在“反向”标签下,选择上下文如“Global”,选择“要进行反向工程的对象类型”如“表、视图”等等,此处只选择了表:图3-1-3 新建模型反向然
25、后在“选择性反向”标签下,选中“选择性反向”和“要进行反向操作的对象”,在“表名称”中选择需要做数据抽取的表:图3-1-4 反向选择表点击“反向”,图3-1-5 反向提示点击“是”,开始将两张表结构导入到ODI中。反向完成后,会在Designer的模型框中看到建立好的模型:图3-1-5 模型中反向出来的表3.1.2 文件型模型Designer-模型中,点击插入模型图标,在模型对话框的“定义”标签下,输入名称,选择技术和逻辑架构:图3-1-6 新建文件模型在“反向”标签下,选择“标准”,“上下文”,“要进行反向工程的对象的类型”。图3-1-7 文件模型反向对于文件不能使用“选择性反向”来倒入文件
26、的结构定义。现在点击文件模型对话框的“确定”来关闭并且保存定义了的文件模型。在Designer-模型中右键刚才创建的文件模型“FILE_SRC”,选择“插入数据存储”(Data Store),在“定义”标签下,输入数据模型“名称”如CUST_JOB,可以修改“别名”或者采用缺省生成的别名,选择“资源名城”为要使用的文件名称如“CUST_JOB.txt”:图3-1-8 文件模型数据存储在“文件”标签下,定义文件的格式,图3-1-9 定义文件模型数据存储格式在“列”标签下,点击“反向”,图3-1-10 文件模型数据存储反向弹出如下对话框:图3-1-11 文件模型数据存储反向提示点击“是”,开始导入
27、文件的列:图3-1-12 文件模型数据存储反向结果“确定”,完成文件的数据存储的导入。3.1.3 其它类型模型类似于EXCEL或者ACCESS中文件形式的数据源,其建立模型的过程与3.1.2所述类似。类似与MYSQL、SQLSERVER这种关系型数据源,其建立模型的过程与3.1.1所述类似。3.2 新建项目3.2.1 创建项目Designer-项目,点击插入项目图标,在项目对话框的“定义”标签下输入项目名称如Training_Project:图3-2-1新建项目3.2.2 导入知识模块(KM)3.2.2.1 知识模块含义我们在项目里所能够遇到的一些场景(如把文件载到数据库,从Mysql数据库抓
28、取数据放到Oracle数据库里,从DB2把数据抓取出来放在Oracle数据库里等)撇开这些数据抽取和转换工作的业务部分,其实总是可以总结为file-OracleMysql-OracleDB2-OracleOracle-DB2。如果撇开具体的项目不谈,这些都是一些被反复使用的场景,ODI提出了知识模块的概念,把这些场景的详细的实现步骤作为一个一个的知识模块并使用Jython脚本语言结合数据库的SQL语句录制成一步一步的步骤忠实地记录下来,这样就形成了ODI里的100多个知识模块,基本上包含了所有普通应用所涉及到的所有场景。更方便的是,用户既可以直接使用ODI的知识模块完成数据的获取工作,也可以直
29、接在知识模块上面做各种定制,比如某一个业务场景可能并不需要知识模块里的某一个特定的步骤,那就可以直接把该步骤删除掉从而提供更好的性能。当然用户也可以完全自己来开发这些知识模块。3.2.2.2 知识模块分类ODI的知识模块主要分为几个大类(CKM,LKM,IKM,SKM),其中最重要的是LKM(load KM)和IKM(Integration KM):1.LKM:LKM完成从源数据库数据加载到临时表。2.IKM:IKM完成从临时表的数据加载到目标表。ODI认为一个数据的流动包含从源表到临时表,然后从临时表到目标表的过程,而临时表可以放在源上,或者放在目标数据库上,可以自己选择。(当然,通过自己来
30、改动KM也完全可以对这个概念做改动,甚至可以使用一个KM完成所有的工作)。如下图(临时表放在目标数据库上,然后数据的转换在目标数据库上完成):图3-2-2知识模块示例3.2.2.3 导入反向工程知识模块(RKM)图3-2-3导入反向工程知识模块选择KM导入文件夹:ODI安装路径oraclediimpexp:图3-2-4选择知识模块所在文件夹选择所有的RKM:图3-2-5选择所有的RKM“确定”,导入RKM同样方法,依次导入如下知识模块。导入正在加载知识模块(LKM);导入检查知识模块(CKM);导入集成知识模块(IKM);导入日记知识模块(JKM);导入服务知识模块(SKM);3.3 接口3.3.1 新建接口右键Designer-项目-Training_Project-第一个文件夹-接口,“插入接口”:图3-3-1 新建接口接口“定义”标签:输入名称如TGT_CUST_Int,选择上下文,注意“临时区域与目标区域不同”这个选项,如果选择该选项,则抽取过程中的临时对象(如临时表、临时视
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1