准备外部应用程序

验证和更新外部应用程序。

注意:

在 2026 年 6 月 1 日之前,查看并更新外部语义模型,以符合这些最新标准,并确保外部应用程序在不中断的情况下继续工作。

验证外部语义模型

您需要检查和更新的内容 执行以下任务…
基于多个逻辑表的层次(逻辑维)
  • 确保层次(逻辑维)仅基于一个逻辑表(维表)。语义建模器强制要求层次结构(逻辑维)源自一个逻辑表。
  • 在迁移模型之前,请转到模型管理工具,组合逻辑表,然后删除合并数据的逻辑表。

    例如,如果 Snowflake 模型的层次结构(逻辑维)源自维表和维扩展表,请转至“模型管理工具”,并将维扩展表数据添加到维表中。组合逻辑表后,删除维扩展表。

逻辑外关键字联接
  • 确保语义模型不包含逻辑外键联接。语义建模器中不存在逻辑外键联接,迁移中将不包含这些联接。
  • 在迁移模型之前,请将逻辑外键联接替换为逻辑联接。
主密钥
  • 确保语义模型的逻辑级别包含主键。
应用程序角色
  • 确保语义模型将应用程序角色用于对象权限和数据安全性。

    由于管理工具中开发的语义模型的用户级安全性已过时,语义建模器不会迁移任何用户级安全性。在管理工具中,可以使用 Identity Manager 检查模型是否使用应用程序角色,而不是用户。

显示文件夹
  • 搜索语义模型以查找和删除物理层以及业务模型和映射层中的所有显示文件夹。

    显示文件夹包含对象的快捷方式。删除显示文件夹时,它将仅删除对象的快捷方式,而不会删除对象本身。

一致性
  • 确保语义模型在迁移之前通过一致性检查。
  • 在模型管理工具中,对模型运行一致性检查,并在迁移之前修复任何错误。

验证外部语义模型是否符合标准

要确保为外部应用程序提供不间断的服务,请查看并更新外部语义模型以符合这些标准。如果不满足这些要求,可能会导致 Oracle 忽略更改、系统错误或删除不合规对象。

常规:

  • 外部语义模型的大小必须小于 25 MB。
  • 目录文件夹和对象名称必须唯一,并且不能与预生成的条目冲突。

连接:

  • 外部语义模型必须仅连接到与 Oracle Fusion Data Intelligence 关联的 Oracle Autonomous AI Lakehouse。
  • 不要向外部语义模型添加任何其他连接。
  • 上载之前,请将预构建的连接重置为其原始设置。将数据源名称设置为 "DSN",并将用户名和密码字段留空。

联接和查找:

  • 外部语义模型不支持逻辑查找。
  • 外部语义模型不支持逻辑外键联接。

事实

  • 逻辑事实必须至少包含一个汇总度量。
  • 说明性属性必须建模为退化维,而不是直接事实属性。

  • 创建的每个逻辑维都必须与关联的逻辑层次配对。
  • 维粒度必须与数据匹配。否则,查询结果将不准确。
  • 维层次最低级别或详细信息级别的主键必须与层次所基于的逻辑维表的主键匹配。

层次

  • 层次结构(逻辑维)必须派生自且仅从一个逻辑表(维表)。
  • 外部语义模型中定义的父子层次结构不能用于分支或沙盒框架内的后续建模。请改用基于级别的层次结构。
  • 基于级别的层次结构需要定义的合计级别和详细信息级别。将每个级别的元素数设置为一个或多个。
  • 逻辑外键联接将不赞成使用。删除逻辑外键联接并将其替换为逻辑联接。
  • 所有逻辑级别都必须定义主键。
  • 通过将可用属性限制为基本字段来优化层次结构性能。

  • 合规列的数据类型必须匹配。
  • 将派生的列表达式限制为 1499 个字符,以确保它们有效。

安全性

  • 用户级别的安全性将被弃用。更新外部语义模型,以独占地将应用程序角色用于所有对象和数据安全权限。
  • 您必须为在外部语义模型中创建的所有自定义角色提供显示名称和说明。
  • 如果外部语义模型引用了应用程序角色和组,则必须手动创建它们。合并功能仅导入映射,不导入角色和组定义。在身份提供者中创建适用的组。使用 Oracle Fusion Data Intelligence 中的“安全性”页创建应用程序角色。
  • 使用应用程序角色保护对象访问,而不是管理数据安全性。

数据扩充

  • 除非您已创建数据扩充类型,例如“创建维”、“创建事实”和“扩展实体”,否则请勿在“启用功能”页面上的“一般可用功能”选项卡下启用“SME 用于数据扩充的选项”。不再推荐使用这些扩充类型,并可能在将来的发行版中将其删除。数据扩充的 SME 选项直接更新语义模型,这可能会因同步失败而触发错误。如果遇到这些错误,请将 SME 扩充替换为数据集类型扩充,并改为配置用户定义的语义模型扩展。

系统变量的

  • 请勿在外部应用程序扩展中引用系统变量。沙盒框架中允许使用系统变量。

捆绑包部署

  • 您必须确保在目标环境和从中提取模板语义模型的开发环境中启用的功能区相同,以避免外部应用程序合并失败。