在前面的课程中,您已经完成了目标系统的逻辑定义的设计和配置。现在,您可以部署并创建目标的物理实例了。
在本教程中,您将部署前面创建的所有关系对象和维度对象,还要部署设计过的 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” 您可以查看针对部署成功的外部表所生成的代码。双击 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:
注: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 还允许您通过单击部署按钮来轻松地部署所有对象。之所以指导您分步完成,是为了让您更好地理解部署的过程。
在下一课程中,您将运行进程流向目标维和多维数据集中加载经转换的数据。