原创 OWB学习经验整理收藏

 
Owb windows版的安装,配置,以及注意事项
Oracle Warehouse Builder帮助用户设计、部署与管理数据仓库。是Oracle 用于设计与部署数据仓库解决方案的技术,为设计、部署企业数据仓库数据集市和电子商务智能应用程序的可扩展框架提供集成。
下面对OWB的学习做个小小个总结:
一、安装与配置
                                       
 
1-1
在安装完毕OWB的SERVER以后如上图所示,我们要实现的ETL功能全部可以用OWB Client这个部件即可,OWB Design Browser,OWB Runtime Audit Browser这两个工具是图形画界面,其中OWB Design Browser必须有Oracle Application Server中的Portal才可以应用,
对于OWB Runtime Aduit Browser必须事先启动 Start OWB OC4J Instance。
                                    1-2
上图即为运行OWB Runtime Audit Browser的界面。
对于OWB来说我们可以绕过这两个图形画界面直接运行OWB Client 来实现ETL,而且功能足够。
在运行OWB的Client的时候必须有个前提,要配置OWB的资料库,用来存储创建数据仓库实现ETL的SQL语法,在没有配置OWB的资料库的情况下,OWB不能使用。点击OWB Repository Assistant(图1-1),然后如图,用户必须提供SYS或者SYSTEM的口令,这里面要注意一点就是当你配置了Oracle数据库的资料库以后,尽量不要把OWB的资料库里面的资料配置在OEMREP库中。在配置OWB Repository需要创建一个Repository 的所有者,这个所有者可以是数据库中已有的用户,建议创建一个新的用户用来存储OWB Repository。
1-      4
创建完毕资料库以后,我们还要创建Runtime Repository(运行资料库),这个库我个人理解主要功能是在实现数据仓库,存储数据仓库模块的SQL配置。点击OWB Runtime Assistant    
1—  5
1—  6
当输入正确的用户密码以后就会有下面的图示:
                                     1—7
在创建运行资料档案库的时候
                                 1—8
此时,尽量把运行时资料档案库放在新的用户里面,便于以后的管理,在同一个数据库中你可以创建多个运行资料档案库。当创建完毕运行资料档案库以后,我们要接着创建目标方案库
 
                                       1—9
这个时候
1—  10
                           1—11
输入你创建OWB Runtime Repository的用户与密码:
 
                              1—12
这个用户非常重要,就是我们要把数据仓库放的位置,当我们创建数据仓库对象(包括fact table , dimension)最后都将放置在这个用户里面,所以这个用户必须创建新的,不能用已有的用户。当创建完毕这个用户以后,那么我们前期的准备工作就可以拉。下面运行OWB Client我们来通过他开始构建数据仓库,实现ETL。
1—  13
在连接之前要先配置连接信息:
  
                    1—14
这个主机就是我们配置OWB Repository的时候应用的主机,端口号Oracle默认的情况下是1521,当你输入正确的信息以后。
 
1—  15
此时的用户名为OWB Repository的owner,输入正确的密码以后就会进入OWB Client的图形化界面:
       
                       1—16
这个时候我们看见了树状结构,MY-Project为系统提供的一个项目,里面的内容都是空的,也就是说仅仅有一个框架,其他的两个项目都是用户自定义的项目,NETWORK,XWEEK为我个人创建的项目。
                     1—17
这是树状结构的展开图,首先要在运行时资料档案库连接处创建新的连接。
1—  18
如图:此时输入相应的信息,对于Connect as User一项要输入你通过Runtime Assistant创建的那个目标方案用户,Runtime Repository Owner输入你创建运行资料库时创建的新的资料库所有者。当配置好以后就开始创建数据库源模块与数据仓库模块。
 
二、创建数据模块
在图1—17上点击数据库下面的Oracle反键创建数据库模块,首先要有一个源模块
                                      2—1
然后需要你配置他的数据库连接符
 
                                 2—2
可以看到元数据的导入源有两种,一种是Oracle Data Dictionary,一种是Oracle Designer,以我们现在产品应用,我们选择Oracle Data Dictionary,在默认的情况下我们需要建立新的数据库链接:
                                       2—3
数据库的连接符是我们任意起的名字,这里面用到的用户不能是SYS和SYSTEM,我们输入SCOTT用户,只有当测试成功以后,才能创建新的模块。(Scott用户要赋予select any table的权限)。当创建成功以后
                                        2—4
选择一个新的位置来记录你的源模块,这里的位置我个人认为就是起标示和连接作用的,选择相应的目标版本。这样我们就建立啦一个源模块,这个模块主要是为数据仓库提供数据用的,这个数据库一般的做个准备区,数据仓库的数据将主要都是从源模块中抽取数据。接着创建OWB的目标模块,方法同上,这个时候在配置资料库连结的时候可以省略,暂时不用配置。
2—  5
这个时候出现啦两个模块,SRC就是源模块,我们要抽取的数据就在这里面,后面TAR就是目标模块,在位置上看到有两个连结,一个属于SRC,一个属于TAR,把这两个连结互连,然后我们就开始把数据导入SRC模块当中去,点击表导入。
                         2—6
如果我们只需要导入表格那么就看到入2—6所示,选择你要导入的表格,然后再表格上要验证一下,看看是否会出现错误或者警告,如果顺利的话应该没有。
然后再TAR模块上创建一个新的表格,这个表格中所要体现的数据要与要从源模块中抽取数据的表格的列的数据类型要一致。然后我们开始创建mapping,现在假设创建成功一个叫
map的mapping:
2—7
上图即是mapping的操作界面,可以看到它上面有很多的操作符,可是有表格,视图,维表,连接器,立方……我们现在把Scott用户下面的一个表格linshi导入进来,这个表格只有一个列,
                            2—8
可以看到我们可以创建绑定或者从现有资料库当中把表格选择出来,现在把Lishi表和Tartable两个表格选择出来。
3—  9
然后把相对应的列相互连接起来,对这个映射进行验证,验证必须是成功的。
 
三、部署(也称作发布)
当我们建设完毕Mapping以后就要对这个项目开始部署与配置,点击运行时数据资料库连结,输入相应的用户与密码:
                                  3—1
到啦这里我们要对SRLCN和TAR_LC两个模块Register,在file工具栏里面分别对起注册,注册以后要验证与部署,中间不能有错误,警告也不能有,否则就会报错。
                                 3—2   
当所有的注册成功并且验证、生成成功之后要对目标数据模块中的mapping验证、部署成功,当他也成功以后,通过SQL-PLUS到你指定的用户计划中找到tartable这个表格,查询一下
就会发现里面的数据与Scott用户下面的Linshi表格相同啦。
在创建模块的过程当中我们一样可以创建文本文件模块,导入到你指定的源模块的用户计划当中去,其间会需要文本模块有相应的格式,字段与字段之间或者用“,”、空格、“||”等特殊字符隔开,这样才能在导入的时候由数据库来识别出来。
在mapping上面的操作很多,也比较复杂上面仅仅做啦一个最简单的mapping,例如我们可以利用join连接器,做个连结的mapping
3—3 
右边的那个Products对象就是维表。
3—4
3—5
3—6
这是一个典型的多连结,这个连结与我们在SQL-PLUS中用SQL语句进行连结意义实际上是一样的,在join的连接符里面又可以配置相应的条件。
 
四、几个用可能遇到的问题
首先在配置完毕Oracle本身的数据资料库以后,又配置OWB的数据资料库,可能会使我们的Oracle TNSlinster出现错误,这个时候你要确定自己的TNSlister使用的是哪个监听文件,配置你的监听文件让你能够通过SQL-Plus正确的访问你要访问的用户的数据。
当你在部署mapping可能会出现一些错误,例如:
对于这个错误,是我们配置目标数据库的时候所以用的用户的权限不够,正常的情况下,在没有对OWB的角色非常清楚时,应该使用OWB Runtime Connect USER,如果还出现错误,那么打开Oracle console控制台
可以看到数据库连接里面几个数据库连接,这些连接就是我们在OWB创建初始模块的时候创建的,这些连接并不一定能够有效使用,你需要对他们进行测试(在Console控制台里面)
如果测试的结果失败。有两个解决的方法,最简单的方法是创建一个新的数据库连接,选择Public的选项,这样在你创建数据模块的时候就可以使用通过Console控制台创建好的
DB-Link,第二个方法是在你的init.ora文件里面找到一个参数将其更改:要你看一下远程数据库的global_names是否为FALSE如果为TRUE是有要求的否则就行。
 
再有,问题描述如下:
    当把Oracle/database,Warehouse Builder,Application装载再同一台
主机上以后,SQL-PLUS 无法正常工作,因为有多个TNSNAMES.ORA这个时候
 
 
在 DOS 下用: DOS> echo %TNS_ADMIN% 或进REGIESTRY,查TNS_ADMIN。 具体: START-->RUN-->REGEDIT。
若查出来的不是你想要的,把它改一下
2。确定了你在用那个 tnsnames.ora 后 (以上面的为例)。先决定你要进的库是哪个:
然后,在下述取一:
一。 DOS> sqlplus username/password@OEMREP,
二。 DOS> sqlplus username/password@IASDB_PTSCBY.NEU.ENU.CN,
三。 DOS> sqlplus username/password@INST1_HTTP,
四。 DOS> sqlplus username/password@DEMO
 
最终解决方案:
 
 
试一试:
在用 SQL*PLUS 之前,先:
DOS> SET TNS_ADMIN=D:\demo\network\admin
DOS> SQLPLUS ........
 
最后:
RPE-1012-Target_location_ownership_error cannot deploy
to the target location because it is owned by a different
runtime platform
如果在配置过程当中出现这个错误,那么两种可能,一种是你所用的目标数据库的用户不对,是普通用户,另一种是你所用的Runtime不对,看看是不是在同一个OWB下的。
 
**目标数据模块,也就是仓库模块应该与源模块原则放置在不同的SERVER上。
我现在主要是对实现OWB多模块的创建(对于SQL-SERVER,DB2,Worder文档等非Oracle的源数据模块)以及OWB中的Transform和Processflow进行学习研究,试验一下更加复杂的工程,下一步计划当我熟悉掌握这个工具以后将要对Oracle Design和其他的ETL工具学习。在学习过程中发现可以通过OWB实现Powerdesign的功能,所以建议可以省略这个工具。
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Owb unix版的应用,配置和注意事项

一、登陆

进入OWB是利用Xmanage模拟的UNIX图形界面,通过Xbrowser登陆,并利用teminal连接。
用Xbrowser.exe登陆  
用户名:oracle
密  码:ora_cle
 
进入目录sw/owb/owb10g/owb/bin/unix运行文件ombplus.sh和owbclient.sh
owbclient.sh 用户名:owb      密码:owb
 
 

二、OWB建模

 
1、新建project
1、  Create project
命名test11
并在其oracle上,创建module(source)
Module name:source11
在选项中,选取 Date Soure,创建数据源
Select the application选项选取默认选项
Source for Matadate Import 选项选择 Oracle Data Directory
next
      
 
2、  NEW DB link
DBlink name:dblingk11
Host name :192.168.0.3
Prot Name:1521
Oracle service Name:dss
 
next-----finish
3、  Location
选择“New”location
create location
name:test11_loc
version:9.2
4、create module(target)
Module name:target11
在选项中,选取 Date Warehouse Target
Select the application选项选取默认选项
Source for Matadate Import 选项选择 Oracle Data Directory
  选择要部署的目标的ip,数据库用户和sid
  并建立相应得location
next finish
 
5、  在源里导入需要的表
Table import
 
 
next ----finish-----ok
6、在target中建立所需要的dimension,mapping,cube等
create dimension,以创建channel维为例
在维中,分别创建3个层次
Channel
Class_channel
Total_channel
 
 
 
做如下定义:
channel       
name         varchar2  40
id            varchar2  15
class_channel  
name               varchar2  40
id            varchar2  15
total_channel  
name               varchar2  40
id            varchar2  15
next
在下图中依次添加channels  class_channel  total_channel
创建好channel维之后,同步创建其他维,由于时间维是利用系统自动生成的时间维,故不包括在此。
通过Synchronize(同步)创建其他维
7、创建其他维的过程
进入ombplus中,ombplus与sqlplus相类似
进入/sw/owb/owb10g/owb/bin/unix中,执行OMBplus.sh
注意,严格区分大小写
依次执行目录/sw/owb/other/tcl
中的3个create和alter文件
 
options   Arguments都为空
在命令行中切换为大写
执行如下命令:
连接owb建立的资料库,并进入相应的project
source 一行的命令要小写
 
同步(synchronize)创建其他维
 
同步结果(选择Project-------syochionize)
8、创建时间维
 
粘贴时间维
在T_TIME中删除时间维中的DAY 结果如下:
关于时间的mapping,要采取特殊的处理方式
 
 
 
 
 
 
9、创建cube取名:salees11
做如下添加
 
next ------finish
 
添加measure
amount_sold   number
costs          number
quantity_sold   number
结果如下:
 
OK
10、导入信息文件
Create flat file module
next
Directory为electronics.csv和geogs.txt的存放的路径
Next
选择”new “输入name: file11
建立相应得location
 
ok ----next---Finish
 
在建好的source_file_11上右击选择import
next-------next
选择文件electronics.sv和geogs.txt
next
进入下图
选择electronics_csv点击sample
 
next
选择中文字符集
next—next—next—next—next-----finish
在field delimiter中选择semicolon(;)
next—next---finish
 
选择geogs_txt 点击sample
next
选择中文字符集
next----next
选择”mlutiple”
next
在filed delimiter中选择Semicolon (;)
在filed position中点击scan  选中1,2前面的复选框
next---next---finish----finish
在source_file_11下面选择electronics_csv的属性structure做如下修改:

Name
Type
Length
Id
Integer external
3
Name
Char
46
Description
Char
51
Pack_size
Char
9
Sub_category
Integer external
12

在source_file_11下面选择geogs_txtd的record1属性structure做如下修改:

Name
Type
length
Rid
Integer external
1
Sub_id
Integer external
5
Sub_name
Char
16
Region_name
Char
11

在source_file_11下面选择geogs_txtd的record2属性structure做如下修改:

Name
Type
Length
Rid
Integer external
1
Country_id
Integer external
5
Iso_code
Char
2
Country_name
Char
24
Sub_id
Integer external
5

 
特别注意:文件的格式必须正确。
具体遇到的几个问题及处理方式如下
A、如果文件的最后一列有null的情况,比如

Name
Sex
Age
Wangjiao
Men
23
Liyan
Men
 

在这类情况下,要在最后以行添加分割符(以逗号为例)
Name,sex,age,
Wangjiao,men,23,
Liyan,men,,
B、对于时间格式的处理。要在sample生成的时候,把默认的char类型改称date型,并对date的格式进行定义,比如 yyyy-mm-dd hh24:mi:ss
11、建三个外部表(external tables)
分别为:
country_11
ex_t_11
sub_ext_11
country_11选择geogs_txt文件
在record中选择record2
next
选择file11
next------finish
 
新建外表ex_t_11
选择electronics.csv文件
next
选择file11
next---------finish
 
新建外表sub_ext_11
选择geogs_txt文件和record1
next
选择file11
next---------finish
 
12、mapping的建立
建6个mapping分别为:
map_channels
map_geog
map_products
map_productions
map_sales
tf_time_map
mapping的建立过程,包括诸如关联条件,选取和判断条件,以及joiner,dimension,key lookup,constant等的应用,参看test38 project中的mapping。
其中需要注意的是joiner,constant,key lookup的属性,也就是连接,查询等的条件,可以右键单击通过修改其属性来完成
其步骤如图所示:
 
 
 
 
 
 
 
 
 
 
 
 
 

三、建立runtime repository connections 进行部署

1、在部署前,需要建立runtime环境
运行目录/sw/owb/owb10g/owb/bin/unix下的runtimeinst.sh
进入runtime repository assistant环境
在建立runtime环境的时候,必须用数据库的DBA权限进入
 
 
 
 
 
 
 
 
 
 
 
 
 
 
注意,要发布的机器上必须也已经安装了owb的runtiem server否则,不能发布。
在部署的过程中,要对所建立的target和需要引用的源文件进行注册
Target的注册用户为在建立runtime时的三个用户中target schema建立时的用户和密码
源文件的注册为源文件存在的机器的路径。
 

四、关于workflow的建立

一、安装owb的workflow组件(workflow builder),建立相应的owf-mgr用户
二、workflow建立之后的部署和运行
在部署过程中,也需要对所建立的workflow进行注册,注册的用户和密码为建立的owf-mgr用户的资料
 
 
 
 
现在存在问题:如何处理中文和workflow的详细使用情况,有待于进一步深入学习
 
 
 
 
 
总结
Oracle Warehouse Builder(以下简称OWB)是Oracle公司于1998年宣布的一个用于帮助企业构建数据仓库的集成工具。OWB将从前各自分离的产品提供的功能集成到一个公共的环境。这些功能包括:数据模型构造和设计、数据提取、移动和装载(ETT)、元数据管理、分析工具的整合以及数据仓库的管理。OWB提供了一个框架将数据仓库的各个部分包括关系数据库服务器、多维数据库服务器和前端分析工具相结合,从而产生了一个紧密集成、全面的数据仓库和商业智能(BIS)解决方案。
 
OWB减少了企业建设数据仓库的时间、成本和工作量。开发项目小组成员现在可以在一个单一的环境来实施和管理复杂的数据仓库系统。
OWB具有如下特点:
 
l         全面的数据仓库功能
与其它工具不同,OWB更适合具有智能的数据仓库的特殊要求。从它的设计和生成功能到从多个来源提取数据和向目标数据仓库装载数据,OWB 的每一个方面都降低了企业数据仓库项目的复杂性。
 
l         强调数据仓库的管理
目前市场上的很多数据仓库工具产品往往只强调数据仓库的生成过程,而忽略了对数据仓库进行管理的需要。OWB在提供强大的数据仓库生成功能的同时,更强调对企业数据仓库的管理。需要指出的是,OWB的管理功能可以被集成到Oracle Enterprise Manager(OEM)中,从而为提供一个无缝的企业管理工具。
 
l         支持复杂的提取、转换和传输(ETT) 过程
OWB通过Oracle提供的透明网关技术,支持从Oracle数据库、ODBC数据源和大型主机系统中快速提取和有效装载数据。OWB还支持多种类型的数据转换方法,并能对转换过程进行记录(log),从而不断强化定义的商业规则,保证被转换和装载数据的完整性。
 
l         利用数据库服务器提高性能
Oracle一直不断地改进和提高其业界领先的数据库产品。Oracle9i在与数据仓库相关的一些主要方面提供了新的功能。OWB充分利用了Oracle9i的新功能:汇总管理、数据分区和索引能力。
 
l         与前端分析工具紧密集成
数据仓库的真正作用在于信息的分析,数据仓库的构建工具只有同前端分析工具集成,才能称为完整的平台。OWB支持专用于分析的多维模型,可以生成符合标准的元数据(MetaData),可以和复杂的分析工具如Oracle Express、Discoverer相集成。
 
l         开放、可延伸的框架
OWB提供软件开发包(SDK)供客户和合作伙伴使用,通过使用SDK可以很方便地扩展OWB的功能,定制客户化的数据转换程序。SDK包括对外公开的API和一个开放的数据模型,第三方厂商可以很方便地将自己的应用与OWB相结合。
 
 
一、OWB的特性:
使用OWB图形化界面,可以快速设计、部署数据仓库。用户在建立数据仓库的设计过程中,可以使用向导驱动程序指导我们完成具体的设计过程。
元数据源定义的向导驱动过程支持从已有元数据源向OWB知识库的导入。OWB支持3NF和星型模式的设计,可以从Oracle Designer中导入现存设计。同时,OWB还为事实表(在最新版本的OWB中fact table 已经叫做table拉)和维度提供向导及图形编辑器。
自动生成代码,OWB可以自动生成编码,并且通过校验程序保证编码的正确性,按照部署的要求生成不同的编码类型。
用户通过Oracle Library可以访问所有内置在OWB中的转。OWB导出所有可应用的数据库函数作为转换。它也包括预先定义的函数和过程,用于转换或者在映射触发器中执行普通仓库函数。它的结构适合于按照转换类型快速访问的情况,每个转换的在线说明可以指导用户进行正确的转换。
在转换属性表中,先是执行转换逻辑的PL/SQL编码。用户通过启动编码编辑器(Code Editor)更改编码,编码编辑器提供简单的测试编辑:
●     文件的读和写、打印、搜索和替换。
●     识别SQL和PL/SQL语法。
●     显示以不同颜色存储的词语和注释。
OWB全面应用Oracle9i的分区、索引和总结管理等特性。与数据库的紧密集成允许Oracle9i作为一种转换引擎使用,排除了增加转换服务器的需求。
新的映射范例是基于在映射的任一阶段可被选择的操作符概念之上的。比如:
●     连接器连接多种源(图3-3,3-4,3-5,3-6)。
●     分离器,根据用户定义的条件,在多个目标间分配行。
●     数据目标,根据其原有状态插入或更新目标表中的一行(个别的为过滤器)。支持下述附加的主要映射特性:
●     一次映射多个目标(图3-4,3-5,3-6)。
●     图形表达式编辑器帮助用户输入内嵌表达式(转换、条件)。
●     内嵌表达式避免了预定义许多函数来执行子式操作的需要。
●     链式转换去的强大的转换能力。
文本文件集成器是Oracle Warehouse Builder的一个组件,用于从文本文件中提取数据。
●     多记录处理
☆         对于在单一文件中使用页眉、细节和页脚的用户,文本文件集成器可提供识、采样不同的记录结构的能力(其缺点在下面的介绍中会介绍)。
☆         为用户提供一次性处理文件、把数据载入适当目标表的能力。
●     在一次运动中处理多个输入文件。用户能够处理名称不同但格式相同的多个输      入文件。
●     具有图形化设计文件过滤器的能力,生成适当的WHERE语句以加载每个独 特的记录类型。
●     对审计和错误处理得更高支持。
Oracle Warehouse Builder(OWB)可以作为转换从数据库中导入PL/SQL:
●     OWB能将PL/SQL函数、过程和软件包从现有Oracle模式中导入OWB仓库模块中。
●     允许用户更改导入的函数和过程,重新部署更改后的函数和过程。
●     反向生成PL/SQL程序,在OWB内使用导入实用程序。
●     PL/SQL转换是OWB库内的一种新的对象类型,可以作为嵌入转换以相同方式使用。
 
 
 
二、数据库之间的接口问题(优缺点比较):
(优)Oracle开放式网关提供异种数据源访问技术
Oracle开放式网关技术能把多种数据源集成为一个覆盖企业范围的数据环境,使得应用程序能不做任何修改就可以运行在非Oracle数据源之上。开放式网关包含两个部分:Oracle透明网关和Oracle过程化网关。您可以利用Oracle透明网关中的Developer's Kit自已构造访问远程数据源的网关,也可以利用Oracle过程化网关中的 Developer's Kit,采用PL/SQL过程调用,构造自已的网关访问远程数据源。透明网关提供的是非过程化的,以SQL语言访问非Oracle数据集的方法。Oracle过程化网点能利用开放的或不开放的系统界面,把事务处理软件、操作系统、远过程调用与外部应用系统连接起来。Oracle数据库作为系统集成平台,由它来管理对多服务器及网关之间的通信。开放式网关能将非Oracle数据源与Oracle的数据类型进行动态地相互转换。
 
Oracle Transparent Gateway (透明网关):
 
采用Oracle的SQL语句透明存取非Oracle数据库中的数据,所支持的非Oracle数据库有:DB2、RMS、SQL/DS、IMAGE/SQL、SQL/400、Informix、Sybase、Ingres等。用户还能利用Transparent Gateway中的Oracle Transparent Gateway Developer’sKit构造自己的非过程化网关,连接其它非Oracle数据源。利用透明网关技术,Oracle 将作为各种数据源的集成库,由Oracle来存取及调用各种数据源的数据,并实现透明的分布式查询,透明的分布式修改,非Oracle数据源还能参与两阶段提交及分布式复制过程,并实现各种数据源的节点自治。透明网关有以下几种:
l         Transparent Gateway for IBM DRDA
l         Transparent Gateway for SQL/400
l         Transparent Gateway to DB2
l         Transparent Gateway to RDB
l         Transparent Gateway to RMS
l         Transparent Gateway to IMS
l         Transparent Gateway for IMAGE/SQL
l         Transparent Gateway for Informix
l         Transparent Gateway for Sybase
l         Transparent Gateway for Ingres
 
(缺)虽然Oracle自称认为可以对从任何的数据库通过Transparent Gateway提取数据,但是至少我个人现在发现OWB对Word(扩展名为.doc)的文档没有办法识别,提取出来的数据都是乱码。再有就是对普通的.txt文件中的数据的提取,也是有一些限制的,就像我前面对OWB的源模块建立中(Flat File Source)提到的,在对平面文件(.txt)提取数据的时候只能识别特定的格式,如字段与字段之间需要有逗号、||、空格才能识别,或者用固定长度才能把文本文件正确的导入到Oracle数据库或者OWB源模块。
 
三、OWB严谨性与其复杂性
首先必须承认一点,那就是Oracle Warehouse Builder(OWB)就像Oracle数据库一样的严谨,不像SQL-SERVER那样容错率高。它的严谨体现在这几个方面,首先从结构上:要运行OWB首先要有一个资料库,OWB Repository包含遵循Common Warehouse Meta data标准的元数据,OWB元数据用于建立数据仓库,提供和Oracle数据库服务器,Express Server以及Discoverer的集成。然后是OWB的Runtime Repository和Runtime connect user这两个部分的作用已经在对OWB的简介做了具体的介绍。对于仓库表格列的数据类型以及mapping中的操作不仅仅要验证它的正确性还要生成和部署,即使验证通过没有对源模块和目标模块register,仍然不行,而且在部署过程中不能出现任何的warning。有时候虽然在warning的情况下依然生成拉仓库表格(但是数据类型不匹配或者源表格所有者没有select any table 的权限),但是当你通过SQLPLUS查询时,会发现源表格中的数据并没有被映射过来。再者,OWB中出现拉若干的不同的用户,他们各司其职相互之间不联系,OWB 的资料库主要针对OWB Client(相应的有一个资料库的Owner user),而OWB Runtime Repository(相应的有一个Runtime Repository Owner和一个connect user)主要针对OWB中的Deployment Manager这个工具,最大的作用主要是在部署数据仓库。最大限度的把这些信息细化,把每个用户的工作具体化。
 
由于OWB严谨性必然决定啦它的复杂性,尤其是在对他的工作进程和数据仓库方面的配置,同时你也会发现OWB创建的数据仓库必须在指定用户(由OWB Runtime Assistant创建的Connect User),而不能创建在我们在数据库中已经创建的用户,即使这个用户的角色已经是DBA。虽然OWB已经开始使用一些比较友好的可视化的界面,但是由于Oracle数据库本身的复杂性,基于它上面的数据仓库也不会太简化,通过上面的介绍就能够看出来。
让我们看一下OWB的安装要求就可以知道它的功能强大,附带的复杂性也就增加拉。

软件
组件
数据库对象
    Oracle 9i(必须)
Orcle Agent
TNS Listener
 
   Oracle9ias(可选)
Portal
HTTP Server
XML Develpoer Kit
 
   OWB(必须)
OWB客户
Repository Assistant
Runtime Assistant
Browser Assistant
Repository Tables
Runtime Tables
Browser Tables
Oracle Enterprise Manager2.2(可选)
 
Oracle Manager Server
Client Console
WEB Console
 
 
OEM Repository
Oralce Workflow 2.6
Workflow Client (Designer)
WEB Monitor
Workflow Server
Queue listener
Workflow Tables

基于商业需求和数据仓库的大小,我们能够再三层环境中安装OWB。三层体系结构非常灵活,我们能够将这些层安装在同一台计算机上,也可以安装在不同的计算机上。
与两层客户机/服务器结构相比,三层体系结构提供了稳定的、大规模的、健壮的企业计算环境。
                      OWB的三层安装

 
      客户层
 
           中间层
 
      数据库层
OWB Client
OWB Browser Assistant
OWB Runtime Assistant
OWB Repository Assistant
OWB MDL Upgrade Utility
 
OWB Runtime Audit Viewer
NET 80 Client
Web Browser
OEM/CM Console
Workflow Client
Oracle 9i,Oracle 8i
9i AS(Portal and HTTP SERVER)
OWB Browser Objects
Oracle Manager Server
Workflow Monitor
Workflow Queue Listener
Oracle9i,Oracle8i
Oracle Agent
TNS Listener
OWB Repository
OWB Runtime Repository
OEM Repository
Workflow Tables

 
四、实现ETL
一般的来说我么要实现ETL要进行一下如图的流程
这是比较通用的基本的流程,但是由于我们公司的事情情况,IDP组已经有拉信息泵,在信息泵上面已经实现啦第一次的ETL,那么我们就没有必要需要中间的那个Data staging area层啦,而是直接过渡导Warehouse,因为我们要抽取的数据已经由我们的信息泵放到公司里面一个指定的数据库(Oracle),由于我们的数据仓库的数据库也是使用Oracle。这样我们就不用Transparent Gateway来解决数据库接口的问题。
这样我们就把前两个操作放在一起,后面的Warehouse自成一体,即省去拉中间数据库的建立,也省去拉再次抽取数据所带来的麻烦。
在这张图里面更加具体的告诉啦我们要做什么,我们组的工作实际上主要是在第三个部分,第一个、第二个部分实际上已经通过IDP组的信息泵得到了实现。
 
最后,可以看出OWB完全可以实现未来工作的需求,而且它本身就是Oracle公司的产品,能够更好的与Oracle数据结合,这样就不会有数据库接口的问题出现,或者其他不兼容性的问题。
 
本文总结部分参考itpub论坛上的文章
其中unix版还需要进一步改进。
             
 
 
 
 
2004年11月1日

发表于 @ 2005年04月14日 15:57:00|评论(loading...)

新一篇: Oracle傻瓜问题1000问,网上采的 | 旧一篇: Oracle Patch相关

用户操作
[即时聊天] [发私信] [加为好友]
applejiao
订阅我的博客
XML聚合  FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
applejiao的公告
沉淀下来的时光,越久越值得回味
文章分类
收藏
    很有用
    Linux,Oracle命令
    Oracle官方网站上的精彩文章
    相当不错的oracle技术网站(包括压力测试,Statspack等专题哦)
    存档
    软件项目交易
    Csdn Blog version 3.1a
    Copyright © applejiao