ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Oracle Warehouse Builder 11g 入门之在目标仓库中部署对象

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

原创 Linux操作系统 作者:idba 时间:2008-04-02 11:27:46 0 删除 编辑

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

在本教程中,您将部署前面创建的所有关系对象和维度对象,还要部署设计过的 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 命令提示符下,输入以下命令:

@\wf\admin\sql\wfnlena.sql

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

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

@\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 还允许您通过单击部署按钮来轻松地部署所有对象。之所以指导您分步完成,是为了让您更好地理解部署的过程。

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


 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/1384/viewspace-224906/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-03-25

  • 博文量
    210
  • 访问量
    394180