本space主要想聚合Oralce技术专家的随笔和技术文章,另外整理和收集Oracle经典技术文章。

Oracle Warehouse Builder 11g 入门之在目标仓库中部署对象

上一篇 / 下一篇  2008-04-02 11:27:46 / 个人分类:Oracle Warehouse Builder

在前面的课程中,您已经完成了目标系统的逻辑定义的设计和配置。现在,您可以部署并创建目标的物理实例了。

在本教程中,您将部署前面创建的所有关系对象和维度对象,还要部署设计过的 ETL 映射。

概述

部署是根据逻辑设计或模型创建目标系统的过程。此过程包括生成脚本(如 DDL)的操作,这些脚本将创建表、视图和维等数据对象。它还包括生成 SQL、PL/SQL 和 SQL*Loader 脚本的操作,上述脚本会将数据加载到数据对象中。

对于部署,其重要的特征包括:

在部署关系数据库或维度对象(如序列、表、维或多维数据集)时,系统会同时生成执行DDL 脚本,从而在物理上创建这些对象。

在部署 ETL 映射时,部署过程只生成 PL/SQL 脚本。您需要以显式方式运行这些脚本才能执行 ETL。

Oracle Warehouse Builder 提供了两个部署对象的选项:您可以使用 Control Center Manager 部署对象,也可以在 Design Center 的 Project Explorer 中直接部署对象。

Control Center Manager 提供了一个综合的部署控制台,它允许您查看和管理部署的各方面内容,其中包括配置和验证。在 Control Center Manager 中,您可以查看对象的部署历史。部署历史可用于自动确定默认部署操作。如果您在 Design Center 的 Project Explorer 树中部署对象,则无法使用这些选项。

在本教程中,您将使用 Control Center Manager 部署对象。您可以一次部署完 EXPENSE_WH 模块的所有对象,但是在本教程中,您将分步部署这些对象。

 

开始学习本教程之前,您应已经:

1.下载owbdemo_files.zip文件并将文件解压至计算机硬盘上的目录。
2.完成课程 1、2、3 和 4

 

部署外部表

要部署外部表,执行下列步骤:

1.

要进行部署,您必须启动 Control Center Manager。从 Tools 菜单中,选择Control Center Manager

将光标放在该图标上可以查看该图像

Control Center Manager 启动。系统显示 Control Center Manager 控制台,如下方的屏幕截图所示。

将光标放在该图标上可以查看该图像

2.

因为 Control Center Manager 控制台中的导航树是按位置组织的,所以您可以根据设计对象的位置访问这些对象。

注:在设计过程中创建位置时,您创建的是逻辑定义,仅限于位置的名称、类型和版本。注册位置时,您要指定真正的物理连接信息,这些信息将在部署过程中用于连接各种数据源和目标。

通过使用位置,您可以将同一个逻辑设计部署到多个物理实施中,而无需更改设计。例如,您可以创建并注册另外一个位置,使其指向目标系统的 QA 实例。连接器定义了一个用于将数据从一个位置传输到另一个位置的路径。

在展开EXPENSE_WH_LOCATION,之后展开EXPENSE_WH。在右侧的 Object Details 面板中,查看在前面几个教程中设计的所有对象的设计状态、部署状态和其他详细信息。

将光标放在该图标上可以查看该图像

3.

在左侧的导航树中,展开并选择External Tables。在右侧的 Object Details 面板中,确认两个外部表 EXPENSE_CATEGORIES 和 EXPENSE_DATA 的 Design Status 是否设置为New

单击Default Actions(屏幕截图中高亮显示的节点),您会看到 Deploy Action 已经从 None 更改为 Create。

注:Default Actions按钮会为您选择的对象自动更新操作。它会根据信息库中的元数据信息智能地确定最适合的操作。例如,对于设计状态为 New 的对象,它们的操作将被自动设置为 Create。

将光标放在该图标上可以查看该图像

4.

要部署选定的外部表,从 File 菜单中选择Deploy > To Control Center,或者单击工具栏上的Deploy按钮。

将光标放在该图标上可以查看该图像

您可以在控制台右下方的 Control Center Jobs 面板中监控部署过程,如下方的屏幕截图所示。

将光标放在该图标上可以查看该图像

因为这是首次部署到这一目标位置,您需要注册这一位置。在 Edit Oracle Database Location 窗口中,输入口令expense_wh,主机localhost,端口 1521,服务名称orcl(或如果您的设置有不同的值,请输入)。单击Test Connection测试到目标模式的连接。

将光标放在该图标上可以查看该图像

如果连接成功,则单击OK

5.

在 Control Center Jobs 面板中,您会再次看到部署状态从“generate”转变为“run”,然后转变为“completed successfully”。请注意,此时两个外部表的 Deploy Status 都变为 Success。

您可以查看针对部署成功的外部表所生成的代码。双击 Control Center Jobs 面板 Job 列中的 OWB_DEMO(屏幕截图中高亮显示)。

将光标放在该图标上可以查看该图像

Job Details:OWB_DEMO(number)对话框出现(忽略对话框标题中圆括号内附加的数字)。在对话框左上角的导航树中,选择External Tables。在对话框的右上角单击Script.选项卡。您会发现 Warehouse Builder 为每个外部表都生成了 DDL 脚本。

将光标放在该图标上可以查看该图像

要查看为 Expense_Categories 外部表生成的代码,选择Expense_Categories。View Code 按钮启用。

将光标放在该图标上可以查看该图像

单击View Code

在 Expense_Categories.ddl 窗口中滚动查看生成的代码。

将光标放在该图标上可以查看该图像

在 Code 菜单上选择Close关闭代码窗口。在 Job Details:OWB_DEMO 对话框中,从 File 菜单选择Close关闭对话窗口。不要退出 Control Center Manager。

现在,您已经将两个外部表成功部署到 EXPENSE_WH 架构中。

  

部署多维数据集和其引用的维

在下面的步骤中,您将部署多维数据集 REL_EXPENSE 以及两个维 REL_CATEGORY 和 REL_TIME。

1.

在部署维和多维数据集之前,您需要部署这些维和多维数据集所基于的关系表和序列。

在 Control Center Manager 的 EXPENSE_WH 中,展开Tables。然后展开Sequences。要部署所有的表和序列,选择Tables,然后按住[CTRL]键选择Sequences

将光标放在该图标上可以查看该图像

观察三个表和两个序列的 Design Status。

2.

单击Default Actions将 Deploy Action 设置为 Create。从 File 菜单中选择Deploy > To Control Center或单击工具栏上的Deploy按钮。

将光标放在该图标上可以查看该图像

在 Control Center Jobs 面板中监视部署进度。部署成功完成。

将光标放在该图标上可以查看该图像

4.

在部署多维数据集前,您需要部署相关的维。

在部署维和多维数据集之前,确保部署选项设置为Deploy to Catalog Only。要设置部署选项,从 Control Center Manager 切换至 Design Center。在 Design Center 中右键单击相应的维和多维数据集,从菜单中选择Configure

将光标放在该图标上可以查看该图像

在 Configuration Properties 对话框中,将 Deployment Options 属性设置为Deploy to Catalog Only屏幕截图显示了 REL_EXPENSE 多维数据集的 Configuration Properties。

将光标放在该图标上可以查看该图像

将这些对象的 Deployment Options 属性更改为Deploy to Catalog Only

  • REL_EXPENSE 多维数据集
  • REL_CATEGORY 维
  • REL_TIME 维

注:Oracle Warehouse Builder 为维度对象提供了四个部署选项。

从 Design Center 中返回至 Control Center Manager。在 EXPENSE_WH 中,展开并选择Dimensions。确定这两个维的 Design Status 都已设置为New。单击Default Actions将部署操作更改为 Create。

要部署,从 File 菜单中选择Deploy > To Control Center,或单击Deploy按钮。

将光标放在该图标上可以查看该图像

在 Control Center Jobs 面板中,您会看到部署状态从“generate”转变为“run”,然后转变为“completed successfully”。

5.

在 EXPENSE_WH 中,展开并选择Cubes。注意 REL_EXPENSE 多维数据集的 Design Status 设置为New。单击Default Actions将部署操作更改为 Create。

将光标放在该图标上可以查看该图像

要部署,从 File 菜单中选择Deploy > To Control Center,或单击Deploy按钮。

再一次注意,在 Control Center Jobs 面板中,您会看到部署状态从“generate”转变为“run”,然后转变为“completed successfully”。

将光标放在该图标上可以查看该图像

此时,您已经成功部署了 REL_EXPENSE 多维数据集以及两个维 REL_TIME 和 REL_CATEGORY。

 

部署映射

现在,您已经部署了外部表、维和多维数据集,接下来您将部署 ETL 映射。在部署映射时,Warehouse Builder 会生成相应的脚本。对于映射,您需要再执行一个额外的步骤,即运行这些脚本以便真正地执行从源到目标的 ETL 过程。

在下一课程中您将执行映射。部署映射的步骤与前面所执行的步骤相似。

1.

在 EXPENSE_WH_LOCATION 中选择Mappings。在 Object Details 面板中,将选定的三个映射的 Design Status 设置为New

将光标放在该图标上可以查看该图像

2.

单击Default Actions将 Deploy Action 从 None 更改为 Create。从 File 菜单中选择Deploy > To Control Center或者单击Deploy按钮。

将光标放在该图标上可以查看该图像

部署这些映射需要的时间比部署先前的对象多几秒。

在 Control Center Jobs 面板中,您会看到部署状态从“generate”转变为“run”,然后转变为“completed successfully”。映射成功部署,可供执行。

:部署可能显示成功状态,但带有警告。在本示例中,可以忽略源列长度比目标列长度长的警告。

要查看生成的映射代码,双击 Control Center Jobs 面板中列表顶端的OWB_DEMO作业。

将光标放在该图标上可以查看该图像

3.

在 Job Details:OWB_DEMO 对话框中,单击左上面板导航树中的Mappings。单击Script选项卡。

注意 Warehouse Builder 为每个部署的映射生成了一个 .pls (PL/SQL) 代码。要查看为 REL_CATEGORY_MAP 生成的代码,选择REL_CATEGORY_MAP然后单击View Code

将光标放在该图标上可以查看该图像

下拉代码窗口,查看生成的代码。

将光标放在该图标上可以查看该图像

从 Code 菜单中,选择Close。然后在 Job Details 窗口的 File 菜单中,单击Close退出。保持 Control Center Manager 打开。

 部署进程流

在前一课程中,您设计了一个进程流以实现映射执行的自动化,用于加载目标维和多维数据集。

您需要先部署这一进程流,然后才能执行它以触发所部署的映射的执行。要部署该进程流,执行以下步骤:

1.

在 Control Center Manager 中,展开WH_OWF_LOCATION > MY_PF_MODULE > PK。选择PK

在 Object Details 面板中,针对部署选定进程流PK。将 Design Status 设置为 New。单击Default Actions将 Deploy Action 设置为 Create。

注:这里您部署的是进程流包,而不是其中的进程流。在下一课中,您要执行进程流。

从 File 菜单中选择Deploy > To Control Center或者单击Deploy按钮。

将光标放在该图标上可以查看该图像

进程流包成功部署,如屏幕截图中所示。

因为这是首次部署到这一 WH_OWF_LOCATION 位置,所以您需要注册该位置。在 Edit Oracle Database Location 窗口中,输入口令owf_mg,主机localhost,端口 1521,服务名称orcl(或如果您的设置有不同的值,请输入)单击Test Connection测试到目标模式的连接。

将光标放在该图标上可以查看该图像

如果连接成功,则单击OK

进程流包 PK 成功部署。

将光标放在该图标上可以查看该图像

注:在部署进程流包时如果获得错误“RPE-02072:Oracle Workflow NLS language ...has not been enabled in the Oracle Workflow repository.Please enable using the Oracle Workflow wfnlena.sql server-side script.”,则您需要运行两个脚本来启用并加载 Workflow Repository 所需的 NLS 语言。执行以下操作:

登录到 SQL*Plus 的owf_mgr模式。(确保帐户已解锁。)

在 SQL 命令提示符下,输入以下命令:

@<ORACLE_HOME>\wf\admin\sql\wfnlena.sql

用您的 Oracle 主目录路径替换 <ORACLE_HOME>。脚本需要两个输入,分别输入 GB 和 Y.GB 是英语的代码。对于其他语言,您需要了解相应的语言代码。

现在,在 SQL 提示符下运行 wfnladd.sql,如下所示。

@<ORACLE_HOME>\wf\admin\sql\wfnladd.sql


2.

要查看针对进程流生成的代码,双击 Control Center Jobs 面板中的OWB_DEMO作业。

PK对话框中,单击Script选项卡(屏幕截图中高亮显示)。注意 Warehouse Builder 为进程流生成的 .xml 脚本。

要查看生成的代码,选择PK。View Code 按钮启用。

单击View Code

将光标放在该图标上可以查看该图像

下拉代码窗口,查看生成的代码。

将光标放在该图标上可以查看该图像

退出代码窗口。在 File 菜单上选择Close关闭 PK 窗口。在 Control Center Manager 中,从 File 菜单中选择Close退出。

总结

在本教程中,您了解了物理实施维和多维数据集逻辑设计的步骤。您还部署了映射,生成了脚本。执行这些脚本即可将源中的数据抽取、转换并加载到新的目标。

在本课程中,您学习了如何:

部署外部表
 
部署多维数据集和其引用的维
 
部署映射
 
部署进程流

注:在本教程中,您是通过四个单独的步骤来部署所有对象的。然而,Warehouse Builder 还允许您通过单击部署按钮来轻松地部署所有对象。之所以指导您分步完成,是为了让您更好地理解部署的过程。

在下一课程中,您将运行进程流向目标维和多维数据集中加载经转换的数据。


 


TAG: 11g builder oracle warehouse

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-07-25  
  12345
6789101112
13141516171819
20212223242526
2728293031  

数据统计

  • 访问量: 15891
  • 日志数: 135
  • 建立时间: 2008-03-25
  • 更新时间: 2008-07-24

RSS订阅

Open Toolbar