ODI Studio拓扑结构的创建与配置(Oracle)

ODI Studio拓扑结构的创建与配置(Oracle)

ODI Studio拓扑结构的创建与配置(MySQL)一样,只不过由Mysql变成了Oracle,考虑到ODI关于Oracle的知识模块比较多。

一、概念解释

Topology Manager主要用来管理下面5类任务,并将信息存储在主资料库中,供所有模块共享使用。

image

物理体系结构:

定义各种技术及其数据服务器、物理架构、物理代理。数据服务器瞎可以建立多个物理方案,每个物理方案的实质就是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——MySQL样例数据库解析

       oracle-sakila-db

      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;
View Code

创建两个用户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 ;
View Code

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,我们可以采用此上下文,也可以新建。

clip_image011

填入名称和代码,这里develop表示开发环境,代理先不填,保存效果如下

clip_image012

四、创建代理

代理同样需要创建物理代理和逻辑代理,如果是在本地进行开发,暂时不需要创建代理。

4.1创建物理代理

参照Configuring the Domain for the Java EE Agent

clip_image013

4.2创建逻辑代理

上下文选择刚刚创建的Develop,物理代理方案选择刚才创建的OracleDIAgent

clip_image014

至此,拓扑结构就配置完成了,下面可以新建项目、模型、然后设计接口进行ETL了。

posted on 2015-04-19 13:57  小强斋太  阅读(1387)  评论(0编辑  收藏  举报

导航