联合分区数据加载

您可以将 Essbase 联合分区多维数据集中的数据加载到您在自治数据仓库中的事实表。要执行此操作,需要将 Essbase 与 OCI 对象存储集成,并使用 configure-dbms-writeback 脚本配置 DBMS_CLOUD 身份证明。

Essbase 与 OCI 对象存储集成

为了将联合分区多维数据集中的数据加载到您在自治数据仓库中的事实表,Essbase 使用与 自治数据库一起提供的 DBMS_CLOUD 程序包。

为了访问 DBMS_CLOUD 程序包,在从 Oracle Cloud Marketplace 部署 Oracle Essbase 堆栈时,必须选择将 Essbase 与 OCI 对象存储集成。

有关完整详细信息,请参见从市场部署用于联合分区的 Essbase

为数据加载设置身份证明

通过 Essbase 执行将数据加载到自治数据仓库的操作之前,必须完成一个包含多个步骤的工作流来启用云身份证明以便可用于联合分区

数据加载身份证明工作流中的用户类型

为数据加载设置联合分区多维数据集所需的工作流涉及或可能涉及以下访问权限类型的用户。在您的组织中,这些角色可能是分开的(因此设置是一种协作工作流),也可能是整合的(一个人具有所有必需的访问权限)。

用户类型 工作流中的角色
SSH 用户

可作为 opc 用户使用操作系统命令行来访问部署在 Oracle Cloud Infrastructure 上的 Essbase 实例。(可能是将 Essbase 作为堆栈部署到 OCI 上的同一个人)。

数据库用户

知道自治数据仓库方案名称和密码 — 即创建 Essbase 与 Oracle 数据库的连接(创建联合分区之前必须完成的先决条件)所用的相同方案和密码。

OCI 用户

可以访问 OCI 控制台,包括 Essbase 目录的对象存储存储桶。

数据库管理员

知道 Oracle 数据库管理员方案名称和密码。

Essbase 管理员

Essbase 系统管理员。可以是身份域管理员(可能也是 OCI 用户)创建的初始 Essbase 管理员,也可以是在完成 Essbase 部署后创建的其他 Essbase 系统管理员。

Essbase 应用程序管理者

Essbase 应用程序的管理者/所有者,在完成 Essbase 部署后创建。

数据加载身份证明工作流

必须对要用于联合分区的每个数据库方案完成以下包含多个步骤的工作流。

  1. OCI 用户:按照从市场部署用于联合分区的 Essbase中的说明将 Essbase 部署到 OCI 租户,并针对联合分区选择适当选项。

  2. 数据库用户Essbase 管理员Essbase 应用程序管理者:登录 Essbase Web 界面,并按创建用于联合分区的连接中所述创建与自治数据仓库的连接。

  3. 数据库用户Essbase 管理员Essbase 应用程序管理者:按创建联合分区中所述创建联合分区

  4. OCI 用户:从 OCI 控制台中的用户概要文件,生成并复制验证令牌。将此信息和您的用户名提供给 SSH 用户

    请参见 "Getting an Auth Token"。


    用于复制生成的验证令牌的 OCI 控制台界面

  5. SSH 用户:运行数据加载准备脚本(OCI 上的 Essbase 实例提供了此脚本)。自治数据仓库中的每个数据库方案只需运行一次该脚本。

    示例:

    1. 切换到 oracle 用户。

      sudo su oracle
    2. 导航到脚本位置。

      cd /u01/vmtools/config/adwwb_dbms
    3. 运行脚本。

      ./configure-dbms-writeback.sh

      注:

      要查看脚本选项,请在运行脚本时加上 -h--help 参数。语法:./configure-dbms-writeback.sh [--help | -h]

      注:

      (可选)运行脚本时加上 vault 选项。此选项将脚本设置为采用存储在 Vault 中的数据库管理员身份证明(使用 OCID 访问),而不是提示您提供密码。语法:./configure-dbms-writeback.sh [--vault | -V]
    4. 在系统提示时,输入所需信息:

      • 数据库管理员密码(如果在运行脚本时未加上 vault 选项)。由于密码是受保护信息,因此,您在命令提示符下键入密码时不会看到文本。
      • 数据库用户的用户名和密码。由于密码是受保护信息,因此,您在命令提示符下键入密码时不会看到文本。
      • OCI 用户的用户名和验证令牌。输入完整的用户标识字符串。要查找此字符串,请在 OCI 控制台中,单击右上角的概要文件图标以显示用户概要文件概览。复制概要文件下方和租户上方显示的完整字符串。
        OCI 控制台中“概要文件”下方和“租户”上方显示的完整用户标识字符串

    脚本会创建必需的云身份证明并将其存储在数据库方案中。重新启动 OCI、EssbaseEssbase 应用程序时无需重新运行脚本。

现在,您可以通过 Essbase 加载数据以更新自治数据仓库事实表。

注:

对于 SSH 用户 — 如果在数据加载准备脚本中使用的 OCI 用户验证令牌不再有权访问 Essbase 目录的对象存储存储桶,您需要找到满足数据加载准备工作流中的用户类型所列要求的其他 OCI 用户,并重复该工作流中的步骤。

有关联合分区数据加载的其他说明

源数据文件位置

在通过 Essbase 将数据加载到事实表之前,Oracle 建议先将数据文件上载到 Essbase 服务器。支持客户端数据加载,但需要更长时间。

Essbase 数据加载工具

如果您不需要通过 Essbase 将数据加载到自治数据仓库,您可以在自治数据库中使用数据工具将数据加载到事实表,然后执行其他管理任务。但是,请确保多维数据集大纲和事实表未失去同步 — 请参见联合分区多维数据集的元数据防范措施

DBMS 带格式的数据文件

Essbase 带格式的数据导出文件加载到联合分区多维数据集中可能很耗时。要优化数据加载,请使用 DBMS 带格式的源文件。您可以使用带 DataExportCSVFormat 选项的 DATAEXPORT 计算命令创建一个。加载 CSV 格式文件速度更快,因为它们与源文件的 DBMS_CLOUD 程序包格式选项一致。

事实表和数据加载输入源中的透视维

数据加载输入文件中使用的透视维必须与事实表的透视维相同。

例如,在以下事实表中,透视维是度量维(Sales、COGS、Margin 等)。


SQL Developer 中显示的包含非规范化数据和元数据的事实表,列标题为 "Year"、"Product"、"Market"、"Scenario"、"Sales"、"COGS"、"Margin"、"Marketing"、"Payroll"、"Misc"、"Total Expenses"、"Profit"、"Opening Inventory"、"Additions" 和 "Ending Inventory"。

此事实表可接受的数据加载输入文件具有相似配置,因为它具有相同透视维。示例(已截断):

"Year","Product","Market","Scenario","Sales","COGS","Margin","Marketing","Payroll","Misc","Total Expenses","Profit","Opening Inventory","Additions","Ending Inventory"
"Jan","100-10","New York","Actual",678,271,407,94,51,0,145,262,2101,644,2067
"Feb","100-10","New York","Actual",645,258,387,90,51,1,142,245,2067,619,2041
"Mar","100-10","New York","Actual",675,270,405,94,51,1,146,259,2041,742,2108

如果输入文件透视维与事实表透视维不同,将返回错误,并且数据加载作业将终止。

不支持使用 MaxL 导入多个文件

联合分区多维数据集不支持使用带通配符的 MaxL 导入语句从多个文件并行导入数据。