Oracle i Database Release 中的 OLAP 选项引入了分析工作区并在同一数据库中真正集成了关系和多维数据类型 迄今为止开发人员和 DBA 能够使用分析工作区的唯一途径是利用命令行 API 调用来人工构建它们 但利用 Analytic Workspace Manager (AWM) 的最新版本您现在第一次可以更好地利用 OLAP 选项中的多维特性而无需进行复杂的命令行编程
本文中我将介绍 Analytic Workspace Manager 并逐步叙述如何创建一个存储在分析工作区中的多维数据集该分析工作区可以通过 Oracle Business Intelligence (BI) Beans OracleAS Discoverer 或 SQL 来查看 我还将叙述如何添加新的量度和公式以及如何移植现有的 Oracle Express 数据库
什么是 Analytic Workspace Manager?
当增强 OLAP 选项以包含分析工作区时同时提供的还有 OLAP DML — 一种命令驱动的 API 和命令语言 — 帮助 DBA 和开发人员在这种新的数据存储工具中创建维护和处理数据和对象 不幸的是那时没有提供基于 GUI 的工具来辅助这些工作 因此需要专门的技能和知识以有效地使用该 OLAP 数据存储工具
AWM — 用于分析工作区的创建和维护的一个图形化工具 — 为改善这种境况迈出了重大的一步 (您可以立即从 OTN 上的 Oracle OLAP /global/cn/products/bi/olap/l 页面中下载 AWM 注意在 Oracle i Database Rel [ ] 上必须安装 号补丁)
AWM 提供以下基本功能
集成的图形用户界面
能够使用 Oracle Enterprise Manager 或 Oracle Warehouse Builder 来创建一个关系 OLAP 多维数据集并将其转移到一个分析工作区中
能够直接通过菜单选项或通过由 AWN 生成的脚本来刷新数据维度和事实
自动创建使用 BI Bean 来访问数据所必需的 BI Bean 视图和相关的元数据
使 Discoverer 能够创建允许 Discoverer 访问 OLAP 数据所必需的终端用户层信息和 OLAP 表视图
创建允许通过标准 SQL 来查看分析工作区数据的 SQL OLAP 表视图
为了说明 AWM 的优点我们来看一个例子最近有一位客户花了几个星期的时间试图创建分析工作区多维数据集和量度并利用 DBMS 程序包来实现 BI bean 他们取得了有限的成功但不能在 BI Bean 中正确地查看数据 在加载了 AWM 和必需的数据库补丁之后他们能够创建一个新的 AW 将关系数据集转移到新的 AW 中为 BI Bean 启用数据并在几小时的工作之后就可实际地查看它们的数据
指导教程
现在让我们看一个 指导教程 它将展示 AWM 如何使得充分利用 Oracle 的 OLAP 引擎的能力变得容易
AWM 使用户能够使用两种视图进行工作 OLAP 目录视图和对象视图 OLAP 目录视图允许直观地查看资料库中包含的 OLAP 目录元数据对象视图让您能够查看和维护驻留在分析工作区中的数据 您可以通过视图菜单在这两种视图之间切换
显示屏包含了一个导航面板和一个显示面板 当您在导航面板中选择了一个对象时右边的显示面板将显示关于选中对象的信息 您还可以右键单击导航面板中的对象然后在带有对该对象的相应操作的菜单选项中进行选择
一个称为 OLAP Worksheet 的工具利用 OLAP DML 在分析工作区上打开一个交互式会话 这两个工具分享同一个会话因此您可以在查看相同数据的同时在控制台和 OLAP Worksheet 之间切换
OLAP 目录视图
当您首次登录 AWM 时提供给您的是 OLAP 目录视图 该视图列出了主要的目录对象 量度文件夹多维数据集和维度 在该视图中不允许创建或修改元数据 要修改元数据必须使用 Oracle Enterprise Manager Oracle Warehouse Builder 或 CWM PL/SQL 过程 当创建了一个分析工作区时 OLAP 目录视图显示该分析工作区中的多维数据集以及关系型多维数据集(如果它们被启用了) 此外聚合计划也将被显示并可从该视图中创建 图 是一个 OLAP 目录视图它显示了一个分析工作区中的关系型多维数据集和一个多维数据集 游标位于关系型多维数据集 (Audio Product Sales) 上详细信息在右边的面板中显示
对象视图
对象视图为分析工作区中包含的对象提供了一个图形化的导航器 与 OLAP 目录视图不同该视图允许您在分析工作区中创建和修改对象
图 显示了对象视图 左边是对象导航面板它被扩展来显示各种分析工作区和提供的相关对象类型右边是将数据加载到多维数据集中的程序 该视图使用户避免了必须实际运行 OLAP DML 命令来维护对象
OLAP Worksheet
如果您想运行 OLAP DML 或通过使用 OLAP DML 来直接创建或修改分析工作区或对象那么您可以从 Tools 菜单中调用 OLAP Worksheet 图 显示了以编辑模式打开的 OLAP Worksheet OLAP Worksheet 用于运行 OLAP DML 命令和程序以及显示和处理分析工作区中的对象 OLAP Worksheet 被认为是为 OLAP 提供的 SQL Plus
从关系型多维数据集中创建分析工作区
利用 Create Analytic Workspace 向导您可以从 OLAP 目录中的一个或多个多维数据集中创建一个工作区 产生的工作区是数据库标准格式的这在 Oracle i OLAP 开发人员指南的 OLAP API 部分 (参见 接下来的步骤 )中进行了说明
Create Analytic Workspace 向导提供了适当的默认值无需做任何决定您就可以创建一个分析工作区 通过接受默认设置您可以为数据创建一个适合于多种数据类型的物理存储模型 如果您刚接触 OLAP 类型分析那么您可能想从创建一个具有默认设置的分析工作区开始
然而在产品系统中好的性能是至关重要的 要创建具有最佳性能的工作区必须研究数据的特性并根据其需要相应地设置高级存储选项 您可以使用高级存储来人工定义复合结构以允许控制空间不足以及数据使用的存储空间 这也可以提高数据库的性能 例如 AWM 自动为创建的每一个多维数据集创建一个复合结构 复合结构如 假定 NODE 是变化最快的而 PRODUCT 是变化最慢的 如果情况并非如此则可以构建复合结构来正确地反映实际数据
创建一个数据库标准格式的工作区的过程如下
为 OLAP 配置数据库实例 定义永久临时和撤消表空间并将数据库参数设为适合于数据载荷的值
定义将拥有该分析工作区的一个用户 以一种与关系源不同的模式创建分析工作区是一种好的做法这防止了对象名称的沖突并允许更好地控制安全性和对数据的访问 虽然您可以用与关系表相同的模式来创建工作区但这么做将在单个命名空间内定义唯一的名称时带来问题 用户将需要被授予 OLAP_DBA 角色和对源数据表的 SELECT 权限
打开 Analytic Workspace Manager 然后作为之前为这个目的而定义的用户与数据库实例连接
如果您想生成日志文件请从 Tools 菜单中选择 Configuration 单击 Help 获取更多信息
在 OLAP 目录视图中确认您已为源数据定义了维度层次量度和多维数据集以及您能够从当前的会话中访问这些逻辑对象
从 Tools 菜单中选择 Create Analytic Workspace Using Wizard 完成向导的步骤 如果您需要定义复合结构请确保选择了高级存储选项 单击 Help 按钮获取关于各个步骤的特定信息
您可以现在或稍后为 BI Bean 启用该工作区 您可能想推迟启用直到使用聚合数据和自定义量度增强了分析工作区之后 如果您在构建期间遇到问题而您已选择了启用那么在删除启用过程创建的所有元数据时可能会出现问题 您可以始终在构建和加载过程成功完成之后启用工作区
从 File 菜单中选择 Save 该选项将提交此会话期间对数据库所作的所有修改
如果您选择了一个定义对象而不加载所有数据的构建选项那么当您准备完成构建时请运行 Refresh Analytic Workspace 向导
现在分析工作区被创建了您现在可以查看利用对象视图创建的对象
添加公式
在您创建了初始的分析工作区多维数据集之后您可能想添加允许自定义计算的公式 这些公式可以是简单的或复杂的但它们都由服务器自动计算
一个公式的例子是 PROFIT 它是从 REVENUE 中减去 COST 的结果 通过选择 formulas>Create Formula 然后填入名称和说明选择维度然后为表达式插入 REVENUE — COST 您可以在 AWM 中定义这个公式
不过请记住当使用 Create 菜单项时 AWM 现在不会自动填入标准格式的元数据 要正确地填入元数据需要一个额外的步骤可以人工或通过使用 OLAP DML 程序来填入元数据
列表 包含了一个程序它用来使向分析工作区添加新的量度的工作变得更简单 如果您运行了该程序并传递了正确的参数则适当的元数据将被正确地填入 例如从 OLAP Worksheet 执行
Call set_formula_measure(PROFITDEMOSALES_CUBEAWSALESProfitAW$CREATE)
导致 PROFIT 公式在 DEMO 模式下与 SALES_CUBE 连接 为了验证该步骤是否得到正确执行可以简单地利用以下命令来报告 ALL_MEASURES 维度
Rep