DBMS_CATALOG 程序包

DBMS_CATALOG 程序包包括用于目录管理的各种子程序,这些子程序按功能分组。

  • 目录挂载和取消挂载

    您可以通过挂载现有连接(例如与数据库的现有数据库链接)或添加新连接并将外部系统注册为新目录,将新目录添加到 Oracle Autonomous AI Database

    注意:

    创建或更新目录时,仅使用字母、数字和下划线来指定以下属性:目录名称、数据库链接名称、方案名称、表名和列名。这些字符不区分大小写,不支持多字节字符。

    您可以启用或禁用某个目录。

    注意:

    禁用的目录保留连接详细信息和任何当前元数据,但不会更新,并且无法从 UI 或 API 访问。

    Autonomous AI Database 中删除或分离目录。

  • 目录属性管理
    此处提到的子程序允许您检索和更新系统中目录、方案和表的各种属性。具体而言,它提供了以下功能:
    • 获取目录、方案或表的属性值,包括用于通过 CLOB 格式处理大文本值的选项。

    • 更新目录、方案或表的属性值,同时支持常规和 CLOB 数据类型。

  • 身份证明管理
    mounted 目录将具有零个或多个必需身份证明。这些是需要指定才能使用目录的身份证明。例如,Apache Iceberg 目录通常具有两个必需的凭证
    • ICEBERG_CREDENTIAL:用于调用 Iceberg REST 目录端点的身份证明。这通常是 Bearer 标记身份证明。
    • DATA_STORAGE_CREDENTIAL:用于访问存储桶中的 Iceberg 文件的凭证。
    您可以将必需身份证明视为需要指定的参数。本地身份证明是用户方案中的实际 CREDENTIAL 对象,它起到必需身份证明之一的作用。在 DBMS_CATALOG.MOUNT_ICEBERG 中使用 catalog_credentialdata_storage_credential 等参数挂载目录时,可以指定本地凭证。您也可以稍后通过调用 SET_LOCAL_CREDENTIAL 指定它们。
    BEGIN
      -- Create a new credential
      DBMS_CLOUD.CREATE_CREDENTIAL('BUCKET_CREDENTIAL', ...);
    
      -- Make the new credential play the role of the required 'DATA_STORAGE_CREDENTIAL'
      DBMS_CATALOG.SET_LOCAL_CREDENTIAL(
        catalog_name => 'iceberg_cat',
        required_credential => 'DATA_STORAGE_CREDENTIAL',
        local_credential => 'BUCKET_CREDENTIAL');
    END;    
    可以使用 GET_LOCAL_CREDENTIAL_MAP 函数查看 required 凭证与 local 凭证之间的当前映射。
    SELECT
       JSON_QUERY(dbms_catalog.get_local_credential_map('iceberg_cat'), '$' PRETTY)
    FROM dual;
      2    3  
    JSON_QUERY(DBMS_CATALOG.GET_LOCAL_CREDENTIAL_MAP('ICEBERG_CAT'),'$'PRETTY)
    ------------------------------------------------------------------------------------------------------------------------
    {
      "DATA_STORAGE_CREDENTIAL" : "BUCKET_CREDENTIAL",
      "ICEBERG_CREDENTIAL" : "UNITY_CRED"
    }
  • 目录实体管理
    此处列出的子程序是指管理目录中的各种实体,包括创建、检索和删除存储链接、方案、表以及其他目录对象。它提供了以下功能:
    • 创建和删除链接到目录的云存储链接。

    • 在目录中创建和删除外部表。

    • 创建和删除方案及其内容。

    • 使用可选筛选检索表、方案和其他目录对象的列表。

  • 数据访问和缓存
    本节包含处理查询数据、管理结果游标以及控制目录中的元数据高速缓存的函数。它包括以下功能:
    • 为具有可定制选项的逻辑表生成 SELECT 语句。

    • 打开游标以从逻辑表中提取数据。

    • 刷新并预填充目录的元数据高速缓存,使数据保持最新。

  • 同步和共享
    本节列出了子程序,这些子程序描述了在不同系统或环境中管理和维护一致、最新的目录和方案的功能。它提供了以下功能。
    • CREATE_SYNCHRONIZED_SCHEMAS:在数据库上创建与远程目录定义同步的本地方案,确保本地环境反映远程源。
    • DROP_SYNCHRONIZED_SCHEMAS:删除以前同步的一个或多个方案。
    • UPDATE_SYNCHRONIZED_SCHEMA_PROPERTY:通过使用 CLOB 格式的新值更新属性来修改同步方案的属性,例如更改跟踪或同步行为。
    • GRANT_TO_RECIPIENTREVOKE_FROM_RECIPIENT:通过授予或撤消对特定共享收件人的目录的访问权限来管理访问权限,从而控制谁可以查看或修改目录数据。