在目标仓库中部署对象
在目标仓库中部署对象
在前面的课程中,您已经完成了目标系统的逻辑定义的设计和配置。现在,您可以部署并创建目标的物理实例了。
在本教程中,您将部署前面创建的所有关系对象和维度对象,还要部署设计过的 ETL 映射。
大约 30 分钟
注: 本教程和其设置脚本仅支持 OWB 11g 第 1 版。该 Oracle 示例教程的早期版本可用于 OWB 10g 第 1 版和第 2 版。
本教程包括下列主题:
将鼠标置于此图标上以加载和查看本教程的所有屏幕截图。(警告:此操作会同时加载所有屏幕截图,网速较慢时,响应时间可能会比较长。)
注:此外,您还可以在下面的步骤中将鼠标放在每个单独的图标上,从而仅加载和查看与该步骤相关的屏幕截图。
部署是根据逻辑设计或模型创建目标系统的过程。此过程包括生成脚本(如 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 为维度对象提供了四个部署选项。
 |
Deploy All:在关系或 ROLAP 实施中,维度对象将部署到数据库,CWM 定义将部署到 OLAP 目录中。在 MOLAP 实施中,维度对象将部署到分析工作区中。
|
 |
Deploy Data Objects Only:这是默认的部署选项。这一选项仅将维度对象部署到数据库。您只能为使用关系实施的维度对象选择此选项。这一选项等同于 OWB 10gR1 的代码生成。
因为 Data Viewer 使用 OLAP 目录元数据来显示数据,所以在使用此选项部署对象时,您无法通过 Data Viewer 查看加载的数据。
|
 |
Deploy to Catalog Only:这一选项仅将 CWM 定义部署到 OLAP 目录中。如果您想 BI Beans 或 Discoverer for OLAP 等应用程序仅在您部署数据后就可访问维对象数据,使用该选项。
使用此选项时,您可以在 Data Viewer 中查看加载到维和多维数据集中的数据。
|
 |
Deploy Aggregation:这将部署在多维数据集度量上定义的聚合。此选项只能用于多维数据集。 |
从 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 还允许您通过单击部署按钮来轻松地部署所有对象。之所以指导您分步完成,是为了让您更好地理解部署的过程。
在下一课程中,您将运行进程流向目标维和多维数据集中加载经转换的数据。
返回主题列表
|