ODI Studio拓扑结构的创建与配置(Oracle)
ODI Studio拓扑结构的创建与配置(Oracle)
和ODI Studio拓扑结构的创建与配置(MySQL)一样,只不过由Mysql变成了Oracle,考虑到ODI关于Oracle的知识模块比较多。
一、概念解释
Topology Manager主要用来管理下面5类任务,并将信息存储在主资料库中,供所有模块共享使用。
物理体系结构:
定义各种技术及其数据服务器、物理架构、物理代理。数据服务器瞎可以建立多个物理方案,每个物理方案的实质就是schema。
逻辑体系结构:
定义各种技术及其关联的逻辑架构、逻辑代理。一个逻辑方案需要基于一个或几个物理方案,实质上就是一层抽象,是物理方案的别名。
上下文:
上下文的主要目的是实现逻辑方案多物理方案的多对多关系,比如同一逻辑架构在不同上下文情况下可以对应不同的物理方案。
语言:
不同技术所能采用的语言特性。
代理:
代理是一个JAVA 组件组件建,也分为物理代理和逻辑代理两层,通常它需要在目标库上运行(也可以在非目标库上运行),作用是对数据迁移JOB 进行调度,通常,它只是从执行资料库检索代码,并请求数据库服务器、操作系统或脚本引擎执行代码。
资料库:
包含主资料库及其附属的工作资料库。Master Repository,保存企业所有IT资源的Topology,保存项目和数据模型的安全信息、版本信息,供ODI图形模块等使用。通常创建一个即可。Master Repository要尽可能独立存储,单独的Instance,或单独的Schema。Work Repository,保存项目和数据模型,供ODI图形模块等使用。可创建多个。一个Work Repository只能连接一个Master Repository。一个Schema只能存储一个Work Repository,不过Master Repository倒可与其安装在同一Schema。
二、创建物理体系架构
2.1. 创建源数据库和目标数据库
这里分别使用sakila和sakila_dwh作为源数据库和目标数据库。
sakila_dwh 数据仓库样例 sakila_dwh_schema
创建用户sakila sakila_dwh
1 /*第1步:创建临时表空间 */ 2 create temporary tablespace odi_temp 3 tempfile 'C:\app\ORACLE\oradata\orcl\odi_temp.dbf' 4 size 50m 5 autoextend on 6 next 50m maxsize 20480m 7 extent management local; 8 9 /*第2步:创建数据表空间 */ 10 create tablespace odi_data 11 logging 12 datafile 'C:\app\ORACLE\oradata\orcl\odi_data.dbf' 13 size 50m 14 autoextend on 15 next 50m maxsize 20480m 16 extent management local; 17 18 19 /*第3步:创建用户并指定表空间 */ 20 create user sakila identified by sakila 21 default tablespace odi_data 22 temporary tablespace odi_temp 23 quota unlimited on odi_data 24 profile default ; 25 26 27 create user sakila_dwh identified by sakila_dwh 28 default tablespace odi_data 29 temporary tablespace odi_temp 30 quota unlimited on odi_data 31 profile default ; 32 33 /*第4步:给用户授予权限 */ 34 grant connect,resource to sakila; 35 grant connect,resource to sakila_dwh; 36 grant create view to sakila; 37 grant create view to sakila_dwh;
创建两个用户sakila_work 和 sakila_dwh_work,用于物理方案sakila和sakila_dwh的工作scheme
1 create user sakila_work identified by sakila_work 2 default tablespace odi_data 3 temporary tablespace odi_temp 4 quota unlimited on odi_data 5 profile default ; 6 7 create user sakila_dwh_work identified by sakila_dwh_work 8 default tablespace odi_data 9 temporary tablespace odi_temp 10 quota unlimited on odi_data 11 profile default ;
2.2. 创建数据服务器
Step1:点击拓扑->物理体系结构->选择Oracle->右键选择新建数据库服务器:
Step2:指定数据库服务器的定义:
名称:SAKILA
数据库服务器:localhost
连接(数据库的用户和密码,该用户的权限应高于或等于数据所在schema的权限)
用户:sakila
口令:sakila
Step3:指定数据库服务器的JDBC:
JDBC驱动程序:oracle.jdbc.OracleDriver
JDBC URL:jdbc:oracle:thin:@localhost:1521/pdborcl
保存,点击测试连接测试成功即可。
相同的操作建立数据服务器SAKILA_DWH
最后效果如图所示
2.3. 创建物理方案
Step1:在新建好的数据服务器sakila上点右键选择新建物理方案:
Step2:创建源数据库的物理方案,方案中均选择刚才在Oracle中代表源数据的sakila,
目录:SAKILA(表示该物理方案应连接到的源数据schema,也就是源数据在哪里)
工作目录:SAKILA_WORK(这里指定了之后在数据迁移过程中,需要创建的临时表的存放scheme),如果选择了sakila,则临时表在sakila的scheme下
点击保存,忽略掉下面的警告,稍后再配置上下文
:
同理为目标数据库创建物理方案,方案选择刚才创建的SAKILA_DWH,工作方案选择SAKILA_DWH_WORK 点击全部保存
最后的效果如下
2.4. 创建逻辑方案
Step1: 点击拓扑->逻辑体系结构->选择Oracle->右键选择新建逻辑方案:
Step2:创建逻辑方案SAKILA,这里可以使用ODI 已建好的上下文Global,也可以自己使用下面自己创建的上下文。物理方案对应到刚才创建好的源数据物理方案SAKILA.SAKILA,点击全部保存。
此时点击物理方案SAKILA.SAKILA,会发现上下文自动已经配置上了。这里实际反映了物理方案-上下文-逻辑方案直接的关系,这种设计的目的是为了实现物理与逻辑上的分离。实现一个逻辑方案可以根据开发、生成等不同上下文,关联到不同的物理方案,而同一物理方案也可以支撑多个逻辑方案这种灵活的配置需要。
Step3:同理创建逻辑方案SAKILA_DWH,物理方案对应到刚才创建好的源数据物理方案SAKILA_DWH.SAKILA_DWH,点击全部保存,最终效果如下
三、新建上下文
在系统中已经有了一个上下文Global,我们可以采用此上下文,也可以新建。
填入名称和代码,这里develop表示开发环境,代理先不填,保存效果如下
四、创建代理
代理同样需要创建物理代理和逻辑代理,如果是在本地进行开发,暂时不需要创建代理。
4.1创建物理代理
参照Configuring the Domain for the Java EE Agent
4.2创建逻辑代理
上下文选择刚刚创建的Develop,物理代理方案选择刚才创建的OracleDIAgent
至此,拓扑结构就配置完成了,下面可以新建项目、模型、然后设计接口进行ETL了。