DBMS_CATALOG 概要

本节介绍 Oracle Autonomous AI Database 随附的 DBMS_CATALOG 子程序。

这些子程序分为以下几个功能区。

目录挂载和取消挂载

子程序 说明

MOUNT_DATA_CATALOG 过程

此过程装载数据目录,例如 AWS GLUE 或 OCI 数据目录。

MOUNT_DB_LINK 过程

此过程基于数据库链接挂载目录。

MOUNT_ICEBERG 过程

此过程将挂载具有特定配置的 Apache Iceberg 目录。

MOUNT_SHARE 过程

此过程基于共享资源挂载单个目录。

MOUNT_SHARES 过程

此过程从共享资源提供者挂载多个目录,并进行重载以支持不同的输入类型。

MOUNT_VIRTUAL_CATALOG 过程

此过程将创建并挂载新的虚拟目录。

UNUNT 程序

此过程将卸载现有的外部目录。

目录属性管理

子程序 说明

GET_CATALOG_PROPERTY 过程

GET_CATALOG_PROPERTY_CLOB 过程

这些过程检索目录的属性值。

UPDATE_CATALOG_PROPERTY 过程

UPDATE_CATALOG_PROPERTY_CLOB 过程

这些过程将更新目录的属性值。

GET_COLUMN_PROPERTY 函数

GET_COLUMN_PROPERTY_CLOB 函数

这些函数以 VARCHAR2 或 CLOB 格式检索特定列的属性值。

UPDATE_COLUMN_PROPERTY 过程

UPDATE_COLUMN_PROPERTY_CLOB 过程

这些过程使用用于将更新推送到源的选项更新特定列的属性值。

GET_SCHEMA_PROPERTY 过程

GET_SCHEMA_PROPERTY_CLOB 过程

这些过程检索方案属性值。

UPDATE_SCHEMA_PROPERTY 过程

UPDATE_SCHEMA_PROPERTY_CLOB 过程

这些过程将更新方案属性值。

GET_TABLE_PROPERTY 过程

GET_TABLE_PROPERTY_CLOB 过程

这些过程检索表属性值。

UPDATE_TABLE_PROPERTY 过程

UPDATE_TABLE_PROPERTY_CLOB 过程

这些过程将更新表属性值。

GET_CLOUD_STORAGE_LINK_PROPERTY 函数

GET_CLOUD_STORAGE_LINK_PROPERTY_CLOB 函数

这些函数以 VARCHAR2 或 CLOB 格式检索云存储链接的属性值。

UPDATE_CLOUD_STORAGE_LINK_PROPERTY 过程

UPDATE_CLOUD_STORAGE_LINK_PROPERTY_CLOB 过程

以下过程将更新云存储链路的属性值。

身份证明管理

子程序 说明

ADD_REQUIRED_CREDENTIAL 过程

此过程定义目录的必需身份证明。

REMOVE_REQUIRED_CREDENTIAL 过程

此过程从目录中删除所需的身份证明。

RENAME_REQUIRED_CREDENTIAL 过程

此过程将重命名所需的身份证明。

GET_REQUIRED_CREDENTIAL_PROPERTY 过程

此过程检索必需身份证明的属性。

UPDATE_REQUIRED_CREDENTIAL_PROPERTY 过程

此过程将更新必需身份证明的属性。

GET_LOCAL_CREDENTIAL_MAP(超载)过程

此过程检索所需凭证与本地凭证之间的映射,并重载各种输出格式。

SET_LOCAL_CREDENTIAL 过程

此过程为所需的身份证明指定本地身份证明。

目录实体管理

子程序 说明

CREATE_CLOUD_STORAGE_LINK 过程

DROP_CLOUD_STORAGE_LINK 过程

以下过程管理目录中的云存储链接。

GET_CLOUD_STORAGE_LINKS 函数

此函数检索目录中具有可选筛选器的云存储链接的元数据。

CREATE_EXTERNAL_TABLE 过程

此过程将在目录中创建外部表。

CREATE_SCHEMA 过程

此过程在目录中创建新方案,并在远程目录中创建 Apache Iceberg 方案。

GET_OBJECTS 过程

GET_SCHEMAS 过程

GET_TABLES 过程

此过程使用流水线函数检索目录中表、方案和对象的元数据。

DROP_SCHEMA 过程

DROP_TABLE 过程

此过程从目录中删除方案和表。

GET_COLUMNS 函数

此函数检索目录中表或视图中列的元数据。

GET_TABLE 过程

GET_TABLE 函数

此过程和函数以记录或 JSON 格式检索有关特定表的详细信息。

数据访问和缓存

子程序 说明

GENERATE_TABLE_SELECT(超载)过程

此过程为逻辑表创建 SELECT 语句,并同时为过程和函数重载。

OPEN_TABLE_CURSOR 过程

此过程将打开一个游标以从逻辑表中返回数据。

FLUSH_CATALOG_CACHE 过程

PREFILL_CATALOG_CACHE 过程

以下过程管理目录元数据高速缓存。

同步和共享

子程序 说明

CREATE_SYNCHRONIZED_SCHEMAS 过程

DROP_SYNCHRONIZED_SCHEMAS 过程

这些过程管理具有远程目录定义的同步方案。

UPDATE_SYNCHRONIZED_SCHEMA_PROPERTY 过程

此过程更新同步方案的属性。

SYNCHRONIZE_SHARED_CATALOGS 过程

此过程使用要卸载或禁用的选项管理与不可用共享资源对应的目录。

CREATE_SYNCHRONIZED_VIEWS 过程

此过程创建目录表的视图以应用限制。

COPY_TABLE_PROPERTIES 过程

此过程将属性从一个表复制到另一个表,包括可选列属性。

GRANT_TO_RECIPIENT 过程

REVOKE_FROM_RECIPIENT 过程

这些过程管理目录收件人的访问权限。

事件记录

子程序 说明

CLEAR_CATALOG_EVENTS 过程

此过程将清除某个时间范围内的目录事件日志中的事件。

特定于 Iceberg 的管理

子程序 说明

CREATE_ICEBERG_TABLE 过程

此过程将在目录中的指定方案内创建新的 Iceberg 表。

ADD_ICEBERG_SNAPSHOT 过程

此过程将快照添加到 Iceberg 表,以表示具有详细元数据的数据更改。

MOUNT_DATA_CATALOG 过程

此过程挂载数据目录(例如 AWS GLUE 或 OCI 数据目录)。

语法

PROCEDURE mount_data_catalog
(
  catalog_name 				IN VARCHAR2,
  data_catalog_type 		IN VARCHAR2,
  data_catalog_region 		IN VARCHAR2,
  data_catalog_credential 	IN VARCHAR2,
  data_catalog_id 			IN VARCHAR2 := NULL,
  data_storage_credential 	IN VARCHAR2 := NULL,
  enabled 					IN BOOLEAN := TRUE
);

参数

Parameter (参数) 说明

catalog_name

新目录的名称。这将转换为大写。

data_catalog_type

数据目录的类型(例如 OCI_DCAT 或 AWS_GLUE)。

data_catalog_region

数据目录的云资源区域。

data_catalog_credential

用于访问数据目录的本地身份证明。

data_catalog_id

数据目录名称或标识符。默认值为 NULL。

data_storage_credential

它指定用于数据访问的本地身份证明。默认值为 NULL。此字段是可选的。

enabled

指明目录是否已启用搜索。默认值为 TRUE

范例

/****************** Glue Catalog ******************/
BEGIN
  -- Create a credential capable of accessing a glue catalog
  dbms_cloud.create_credential('GLUE_CATALOG_CREDENTIAL', ...); 

  -- Mount a glue catalog
  dbms_catalog.mount_data_catalog(
    catalog_name             => 'GLUE_CAT',
    data_catalog_type        => 'AWS_GLUE',
    data_catalog_region      => 'us-east-1', 
    data_catalog_credential  => 'GLUE_CATALOG_CREDENTIAL');
END;
/

MOUNT_DB_LINK 过程

此过程基于数据库链接挂载外部目录。

语法

PROCEDURE mount_db_link
(
  catalog_name 	IN VARCHAR2,
  db_link 		IN VARCHAR2,
  enabled 		IN BOOLEAN := TRUE
);

参数

Parameter (参数) 说明

catalog_name

新目录的名称。这将转换为大写。

db_link

用于挂载目录的数据库链接。

enabled

指明目录是否已启用搜索。默认值为 TRUE

MOUNT_ICEBERG 过程

此过程将挂载 Iceberg 目录。

语法

有关 Iceberg Catalog 的更多信息,请参阅 Iceberg REST 目录规范

PROCEDURE mount_iceberg
(
  catalog_name 				IN VARCHAR2,
  endpoint 					IN VARCHAR2,
  catalog_credential 		IN VARCHAR2,
  data_storage_credential 	IN VARCHAR2,
  configuration 			IN SYS.JSON_OBJECT_T := NULL,
  enabled 					IN BOOLEAN := TRUE,
  catalog_type 				IN VARCHAR2 := 'ICEBERG_GENERIC'
);

参数

Parameter (参数) 说明

catalog_name

新目录的名称。这将转换为大写。

endpoint

Iceberg 基本服务器 URL。

catalog_credential

用于访问 Iceberg 目录的身份证明。

data_storage_credential

用于访问数据的身份证明。

configuration

这会将目录配置描述为 JSON 对象。

以下是支持的配置:
  • namespacePath:默认为 NULL
  • namespaceSeparator:对于 Unity,默认为点 (.);对于其他 Iceberg 目录,默认为 %1F
  • isCaseSensitive:Unity 的默认值为 FALSE,其他 Iceberg 目录的默认值为 TRUE)
  • isPublicCatalog:默认为 FALSE
  • bucketRegion:默认为 NULL。仅当目录使用 S3 存储时才相关。
enabled

这指示是否为搜索启用了目录。默认值为 TRUE

catalog_type

Iceberg 目录的类型(例如 ICEBERG_GENERICICEBERG_POLARISICEBERG_UNITY)。默认值为 ICEBERG_GENERIC

范例

/****************** Iceberg Catalog - Unity ******************/
DECLARE
  config      JSON_OBJECT_T := JSON_OBJECT_T();
BEGIN
  -- Create a credential capable of accessing an external iceberg REST catalog
  dbms_share.create_bearer_token_credential(
    credential_name => 'ICEBERG_CATALOG_CREDENTIAL',
    token_endpoint => 'https://.../v1/tokens',
    client_id => ...,
    client_secret => ...,
    token_scope => 'all-apis');

  -- Create a credential capable of accessing the bucket where the 
  -- iceberg data files are stored.
  dbms_cloud.create_credential('ICEBERG_STORAGE_CRED', ...); 

  -- Mount a iceberg catalog
  config.put('namespacePath', 'sales_catalog');
  dbms_catalog.mount_iceberg(
    catalog_name             => 'ICEBERG_CAT',
    endpoint                 => 'https://...//api/2.1/unity-catalog/iceberg/v1',
    catalog_credential       => 'ICEBERG_CATALOG_CREDENTIAL',
    data_storage_credential  => 'ICEBERG_STORAGE_CRED',
    configuration            => config,
    catalog_type             => 'ICEBERG_UNITY');
END;
/

/****************** Iceberg Catalog - Polaris ******************/
DECLARE
  config      JSON_OBJECT_T := JSON_OBJECT_T();
BEGIN
  -- Create a credential capable of accessing an external iceberg REST catalog
  dbms_share.create_bearer_token_credential(
    credential_name => 'ICEBERG_CATALOG_CREDENTIAL',
    token_endpoint => 'https://.../v1/oauth/tokens',
    client_id => ...,
    client_secret => ...,
    token_scope => 'PRINCIPAL_ROLE:ALL');

  -- Create a credential capable of accessing the bucket where the 
  -- iceberg data files are stored.
  dbms_cloud.create_credential('ICEBERG_STORAGE_CRED', ...); 

  -- Mount a iceberg catalog
  config.put('namespacePath', 'sales_catalog');
  dbms_catalog.mount_iceberg(
    catalog_name             => 'ICEBERG_CAT',
    endpoint                 => 'https://.../polaris/api/catalog/v1',
    catalog_credential       => 'ICEBERG_CATALOG_CREDENTIAL',
    data_storage_credential  => 'ICEBERG_STORAGE_CRED',
    configuration            => config,
    catalog_type             => 'ICEBERG_POLARIS');
END;
/

MOUNT_SHARE 过程

此过程基于单个共享资源挂载目录。

语法

PROCEDURE mount_share
(
  catalog_name 				IN VARCHAR2,
  share_provider 			IN VARCHAR2,
  share_name 				IN VARCHAR2,
  share_provider_owner 		IN VARCHAR2 := NULL,
  enabled 					IN BOOLEAN := TRUE
);

参数

Parameter (参数) 说明

catalog_name

新目录的名称。这将转换为大写。

share_provider

共享提供方的名称。

share_name

要挂载的共享资源的名称。

share_provider_owner

共享提供者的所有者。如果为 NULL,则默认为当前目录。

enabled

指明目录是否已启用搜索。默认为 TRUE。

范例

/****************** Share Catalog ******************/
BEGIN
  -- Create a share provider
  dbms_share.create_or_replace_share_provider(
    provider_name        => 'MY_SHARE_PROVIDER',
    endpoint             => 'https://...');
  dbms_cloud.create_credential(
    credential_name      => 'SHARE_PROVIDER_CREDENTIAL', ...);
  dbms_share.set_share_provider_credential(
    provider_name        => 'MY_SHARE_PROVIDER',
    share_credential     => 'SHARE_PROVIDER_CREDENTIAL');

  -- Mount a share catalog
  dbms_catalog.mount_share(
    catalog_name         => 'SHARE_CAT',
    share_provider       => 'MY_SHARE_PROVIDER',
    share_name           => 'MY_SHARE_1');
END;
/

MOUNT_SHARES 过程

此过程根据来自共享提供程序的共享资源挂载多个目录。

语法

PROCEDURE mount_shares
(
  share_provider 		IN VARCHAR2,
  shares 				IN SYS.JSON_ARRAY_T,
  created_catalogs 		IN OUT NOCOPY SYS.JSON_ARRAY_T,
  share_provider_owner 	IN VARCHAR2 := NULL
);

参数

Parameter (参数) 说明

share_provider:

共享提供方的名称。

shares

定义要挂载的共享资源的列表的 JSON 数组。每个元素指定 shareNamerequiredshareNameRulecatalogNameskipExistingplaceholderenabled 等属性。

created_catalogs

新创建的目录的 JSON 数组,以具有 shareNamecatalogName 等属性的输出形式返回。

share_provider_owner

共享提供者的所有者。如果为 NULL,则默认为当前目录。

第二个过程的语法

PROCEDURE mount_shares
(
  share_provider 		IN VARCHAR2,
  shares 				IN SYS.JSON_ARRAY_T,
  share_provider_owner 	IN VARCHAR2 := NULL
);

第三过程的语法

PROCEDURE mount_shares
(
  share_provider 		IN VARCHAR2,
  shares 				IN CLOB := '[{shareName:"%"}]',
  share_provider_owner 	IN VARCHAR2 := NULL
);

第二个过程的参数

参数与过程 1 相同,但不包含 created_catalogs

第三个过程的参数

参数与签名 1 相同,但共享资源是包含所有共享资源的默认值的 CLOB

范例

/****************** Share Catalog ******************/
BEGIN
  -- Create a share provider
  dbms_share.create_or_replace_share_provider(
    provider_name        => 'MY_SHARE_PROVIDER',
    endpoint             => 'https://...');
  dbms_cloud.create_credential(
    credential_name      => 'SHARE_PROVIDER_CREDENTIAL', ...);
  dbms_share.set_share_provider_credential(
    provider_name        => 'MY_SHARE_PROVIDER',
    share_credential     => 'SHARE_PROVIDER_CREDENTIAL');

  -- Mount shares as catalogs
  dbms_catalog.mount_shares(
    share_provider       => 'MY_SHARE_PROVIDER');
END;
/

MOUNT_VIRTUAL_CATALOG 过程

此过程将创建并挂载新的虚拟目录。

语法

PROCEDURE mount_virtual_catalog
(
  catalog_name 	IN VARCHAR2,
  enabled 		IN BOOLEAN := TRUE
);

参数

Parameter (参数) 说明

catalog_name

新目录的名称。这将转换为大写。

enabled

指明目录是否已启用搜索。默认为 TRUE。

UNUNT 程序

此过程将卸载外部目录。

语法

PROCEDURE unmount
(
  catalog_name IN VARCHAR2
);

参数

Parameter (参数) 说明

catalog_name

要卸载的现有目录的名称。这将转换为大写。

GET_CATALOG_PROPERTY 过程

此过程将返回目录的属性值。

语法

FUNCTION get_catalog_property
(
  catalog_name 		IN VARCHAR2,
  catalog_property 	IN VARCHAR2
)
RETURN VARCHAR2;

参数

Parameter (参数) 说明

catalog_name

现有目录的名称。这将转换为大写。

catalog_property

这将描述要检索的属性。(例如,PROP_CACHE_DURATIONPROP_IS_ENABLED)。

该值可以是以下任一常量:
  • PROP_CACHE_ASYNC
  • PROP_CACHE_DURATION
  • PROP_CACHE_ENABLED
  • PROP_CONFIGURATION
  • PROP_CUSTOM
  • PROP_DCAT_TYPE
  • PROP_DEFAULT_SCHEMA
  • PROP_IS_ENABLED
  • PROP_METADATA

有关详细信息,请参阅目录类型和常量

GET_CATALOG_PROPERTY_CLOB 过程

此过程以 CLOB 格式返回目录的属性值。

语法

FUNCTION get_catalog_property_clob
(
  catalog_name 		IN VARCHAR2,
  catalog_property 	IN VARCHAR2
)
RETURN CLOB;

参数

Parameter (参数) 说明

catalog_name

现有目录的名称。这将转换为大写。

catalog_property

这将描述要检索的属性(例如 PROP_CACHE_DURATIONPROP_IS_ENABLED)。

该值可以是以下任一常量:
  • PROP_CACHE_ASYNC
  • PROP_CACHE_DURATION
  • PROP_CACHE_ENABLED
  • PROP_CONFIGURATION
  • PROP_CUSTOM
  • PROP_DCAT_TYPE
  • PROP_DEFAULT_SCHEMA
  • PROP_IS_ENABLED
  • PROP_METADATA

有关详细信息,请参阅目录类型和常量

UPDATE_CATALOG_PROPERTY 过程

此过程将更新目录的属性值。

语法

PROCEDURE update_catalog_property
(
  catalog_name 		IN VARCHAR2,
  catalog_property 	IN VARCHAR2,
  new_value 		IN VARCHAR2
);

参数

Parameter (参数) 说明

catalog_name

现有目录的名称。这将转换为大写。

catalog_property

这将描述要更新的属性(例如 PROP_CACHE_DURATIONPROP_IS_ENABLED)。

该值可以是以下任一常量:
  • PROP_CACHE_ASYNC
  • PROP_CACHE_DURATION
  • PROP_CACHE_ENABLED
  • PROP_CONFIGURATION
  • PROP_CUSTOM
  • PROP_DEFAULT_SCHEMA
  • PROP_IS_ENABLED
  • PROP_METADATA

有关详细信息,请参阅目录类型和常量

new_value

新属性值。

UPDATE_CATALOG_PROPERTY_CLOB 过程

此过程更新 CLOB 中目录的属性值。

语法

PROCEDURE update_catalog_property_clob
(
  catalog_name 		IN VARCHAR2,
  catalog_property 	IN VARCHAR2,
  new_value 		IN CLOB
);

参数

Parameter (参数) 说明

catalog_name

现有目录的名称。这将转换为大写。

catalog_property

这将描述要检索的属性(例如 PROP_CACHE_DURATIONPROP_IS_ENABLED)。

new_value

CLOB 中的新属性值。

GET_COLUMN_PROPERTY 函数

检索目录表中列的特定属性值,例如 PROP_CUSTOMPROP_METADATA

语法

FUNCTION GET_COLUMN_PROPERTY
(
  catalog_name                   IN VARCHAR2,
  schema_name                    IN VARCHAR2,
  table_name                     IN VARCHAR2,
  column_name                    IN VARCHAR2,
  column_property                IN VARCHAR2
)
RETURN VARCHAR2;

参数

Parameter (参数) 说明

catalog_name

源目录的名称。该值采用大写形式。

schema_name

源目录方案的名称。

table_name

源目录表的名称。

column_name

列名称。

column_property

返回属性值,例如 PROP_CUSTOMPROP_METADATA

GET_COLUMN_PROPERTY_CLOB 函数

检索列作为大字符对象 (CLOB) 的特定属性值。

语法

FUNCTION GET_COLUMN_PROPERTY_CLOB
(
  catalog_name                   IN VARCHAR2,
  schema_name                    IN VARCHAR2,
  table_name                     IN VARCHAR2,
  column_name                    IN VARCHAR2,
  column_property                IN VARCHAR2
)
RETURN VARCHAR2;

参数

Parameter (参数) 说明

catalog_name

源目录的名称。该值采用大写形式。

schema_name

源目录方案的名称。

table_name

源目录表的名称。

column_name

列名称。

column_property

返回属性值,例如 PROP_CUSTOMPROP_METADATA

另请参见:

GET_COLUMN_PROPERTY 函数

UPDATE_COLUMN_PROPERTY 过程

更新特定列的属性值,并具有将更新推送到源对象注释的选项。

语法

PROCEDURE UPDATE_COLUMN_PROPERTY
(
  catalog_name                   IN VARCHAR2,
  schema_name                    IN VARCHAR2,
  table_name                     IN VARCHAR2,
  column_name                    IN VARCHAR2,
  column_property                IN VARCHAR2,
  new_value                      IN VARCHAR2,
  push_to_source                 IN BOOLEAN := FALSE
);

参数

Parameter (参数) 说明

catalog_name

源目录的名称。该值采用大写形式。

schema_name

源目录方案的名称。

table_name

源目录表的名称。

column_name

列名称。

column_property

更新属性值,例如 PROP_CUSTOMPROP_METADATA

new_value

为属性分配一个新值。

push_to_source

指示是否将属性更新推送到源对象注释。

默认值为 FALSE。

UPDATE_COLUMN_PROPERTY_CLOB 过程

将特定列的属性值更新为大数据的字符大对象 (CLOB),并具有将更新推送到源对象注释的选项。

语法

PROCEDURE UPDATE_COLUMN_PROPERTY_CLOB
(
  catalog_name                   IN VARCHAR2,
  schema_name                    IN VARCHAR2,
  table_name                     IN VARCHAR2,
  column_name                    IN VARCHAR2,
  column_property                IN VARCHAR2,
  new_value                      IN CLOB,
  push_to_source                 IN BOOLEAN := FALSE
);

参数

Parameter (参数) 说明
catalog_name

源目录的名称。该值采用大写形式。

schema_name

源目录方案的名称。

table_name

源目录表的名称。

column_name

列名称。

column_property

更新属性值,例如 PROP_CUSTOMPROP_METADATA

new_value

以 CLOB 格式分配新值。

push_to_source

指示是否将属性更新推送到源对象注释。

默认值为 FALSE。

GET_SCHEMA_PROPERTY 过程

此过程将返回方案的属性值。

语法

FUNCTION get_schema_property
(
  catalog_name 		IN VARCHAR2,
  schema_name 		IN VARCHAR2,
  schema_property 	IN VARCHAR2
)

参数

Parameter (参数) 说明

catalog_name

现有目录的名称。这将转换为大写。

schema_name

方案的名称。

schema_property

这将描述要检索的属性(例如 PROP_CUSTOMPROP_METADATA)。

GET_SCHEMA_PROPERTY_CLOB 过程

此过程以 CLOB 格式返回方案的属性值。

语法

FUNCTION get_schema_property_clob
(
  catalog_name 		IN VARCHAR2,
  schema_name 		IN VARCHAR2,
  schema_property 	IN VARCHAR2
)
RETURN CLOB;

参数

Parameter (参数) 说明

catalog_name

现有目录的名称。这将转换为大写。

schema_name

方案的名称。

schema_property

这将描述要检索的属性(例如 PROP_CUSTOMPROP_METADATA)。

UPDATE_SCHEMA_PROPERTY 过程

此过程将返回方案的属性值。

语法

PROCEDURE update_schema_property
(
  catalog_name 		IN VARCHAR2,
  schema_name 		IN VARCHAR2,
  schema_property 	IN VARCHAR2,
  new_value 		IN VARCHAR2
);

参数

Parameter (参数) 说明

catalog_name

现有目录的名称。这将转换为大写。

schema_name

方案的名称。

schema_property

这将描述要检索的属性(例如 PROP_CUSTOMPROP_METADATA)。

new_value

新属性值。

UPDATE_SCHEMA_PROPERTY_CLOB 过程

将方案的属性值更新为大数据的字符大对象 (CLOB)。

语法

PROCEDURE UPDATE_SCHEMA_PROPERTY_CLOB
(
  catalog_name                   IN VARCHAR2,
  schema_name                    IN VARCHAR2,
  schema_property                IN VARCHAR2,
  new_value                      IN CLOB
);

参数

Parameter (参数) 说明

catalog_name

源目录的名称。该值采用大写形式。

schema_name

源目录方案的名称。

schema_property

更新属性值,例如 PROP_CUSTOMPROP_METADATA

new_value

为属性分配一个新值。

GET_TABLE_PROPERTY 过程

返回表的属性值。

语法

FUNCTION GET_TABLE_PROPERTY
(
  catalog_name                   IN VARCHAR2,
  schema_name                    IN VARCHAR2,
  table_name                     IN VARCHAR2,
  table_property                 IN VARCHAR2
)
RETURN VARCHAR2;

参数

Parameter (参数) 说明

catalog_name

源目录的名称。该值采用大写形式。

schema_name

源目录方案的名称。

table_name

源目录表的名称。

table_property

要检索的属性。

GET_TABLE_PROPERTY_CLOB 过程

此过程以 CLOB 格式返回表的属性值。

语法

FUNCTION get_table_property_clob
(
  catalog_name 		IN VARCHAR2,
  schema_name 		IN VARCHAR2,
  table_name 		IN VARCHAR2,
  table_property 	IN VARCHAR2
)
RETURN CLOB;

参数

Parameter (参数) 说明

catalog_name

现有目录的名称。这将转换为大写。

schema_name

方案的名称。

table_name

表的名称。

table_property

要更新的属性(例如 PROP_CUSTOM)。

UPDATE_TABLE_PROPERTY 过程

此过程将更新表的属性值。

语法

PROCEDURE update_table_property
(
  catalog_name 		IN VARCHAR2,
  schema_name 		IN VARCHAR2,
  table_name 		IN VARCHAR2,
  table_property 	IN VARCHAR2,
  new_value 		IN VARCHAR2
);

参数

Parameter (参数) 说明

catalog_name

现有目录的名称。这将转换为大写。

schema_name

方案的名称。

table_name

表的名称。

table_property

要更新的属性。

new_value

新属性值。

UPDATE_TABLE_PROPERTY_CLOB 过程

使用字符大对象 (CLOB) 数据类型更新表属性的值。

语法

PROCEDURE UPDATE_TABLE_PROPERTY_CLOB
(
  catalog_name                   IN VARCHAR2,
  schema_name                    IN VARCHAR2,
  table_name                     IN VARCHAR2,
  table_property                 IN VARCHAR2,
  new_value                      IN CLOB,
  push_to_source                 IN BOOLEAN := FALSE
);

参数

Parameter (参数) 说明

catalog_name

源目录的名称。该值采用大写形式。

schema_name

源目录方案的名称。

table_name

源目录表的名称。

table_property

要更新的表属性。

new_value

以 CLOB 格式分配新值。

push_to_source

指示是否将属性更新推送到源对象注释。

默认值为 FALSE。

ADD_REQUIRED_CREDENTIAL 过程

定义使用目录所需的身份证明。

语法

PROCEDURE ADD_REQUIRED_CREDENTIAL
(
  catalog_name                   IN VARCHAR2,
  required_credential            IN VARCHAR2,
  local_credential               IN VARCHAR2 := NULL,
  credential_type                IN VARCHAR2 := NULL
);

参数

Parameter (参数) 说明

catalog_name

源目录的名称。该值采用大写形式。

required_credential

所需身份证明的名称。

local_credential

这是要使用的可选本地身份证明。

默认值为空值。

credential_type

可选

此参数指定用于访问外部服务(例如对象存储或其他数据库)的验证机制类型。例如,oci、aws、azure 或 slack_credential。

有关详细信息,请参阅目录类型和常量

REMOVE_REQUIRED_CREDENTIAL 过程

此过程从目录中删除所需的身份证明。

语法

PROCEDURE remove_required_credential
(
  catalog_name 			IN VARCHAR2,
  required_credential 	IN VARCHAR2
);

参数

Parameter (参数) 说明

catalog_name

现有目录的名称。这将转换为大写。

required_credential

要删除的必需身份证明的名称。

RENAME_REQUIRED_CREDENTIAL 过程

此过程从目录重命名所需的身份证明。

语法

PROCEDURE rename_required_credential
(
  catalog_name 			IN VARCHAR2,
  old_credential_name 	IN VARCHAR2,
  new_credential_name 	IN VARCHAR2
);

参数

Parameter (参数) 说明

catalog_name

现有目录的名称。这将转换为大写。

old_credential_name

所需身份证明的旧名称。

new_credential_name

所需身份证明的新名称。

GET_REQUIRED_CREDENTIAL_PROPERTY 过程

此过程检索指定必需身份证明的属性。

语法

FUNCTION get_required_credential_property
(
  catalog_name 			IN VARCHAR2,
  required_credential 	IN VARCHAR2,
  credential_property 	IN VARCHAR2
)
RETURN VARCHAR2;

参数

Parameter (参数) 说明

catalog_name

现有目录的名称。这将转换为大写。

required_credential

所需身份证明的名称。

credential_property

属性名称(例如 PROP_REQUIRED_CREDENTIAL_DESCRIPTIONPROP_REQUIRED_CREDENTIAL_VAULT_SECRET)。

UPDATE_REQUIRED_CREDENTIAL_PROPERTY 过程

此过程将更新指定必需身份证明的属性。

语法

PROCEDURE update_required_credential_property
(
  catalog_name 			IN VARCHAR2,
  required_credential 	IN VARCHAR2,
  credential_property 	IN VARCHAR2,
  new_value 			IN VARCHAR2
);

参数

Parameter (参数) 说明

catalog_name

现有目录的名称。这将转换为大写。

required_credential

所需身份证明的名称。

credential_property

属性名称(例如 PROP_REQUIRED_CREDENTIAL_DESCRIPTIONPROP_REQUIRED_CREDENTIAL_VAULT_SECRET)。

new_value

属性的新值。

GET_LOCAL_CREDENTIAL_MAP(超载)过程

此过程将检索必需身份证明到本地身份证明的映射。

语法 1

PROCEDURE get_local_credential_map
(
  catalog_name 		IN VARCHAR2,
  credential_map 	OUT NOCOPY credential_info_map
);

参数

Parameter (参数) 说明

catalog_name

现有目录的名称。这将转换为大写。

credential_map

填充的身份证明映射。

语法 2

FUNCTION get_local_credential_map
(
  catalog_name 	IN VARCHAR2,
  show_errors 	IN NUMBER := 0,
  pretty_json 	IN NUMBER := 0
)
RETURN CLOB;

参数

Parameter (参数) 说明

catalog_name

现有目录的名称。

show_errors

这将显示无效本地身份证明的错误消息。默认值为 0。

pretty_json

使用 PRETTY 选项设置 JSON 格式。默认值为 0

语法 3

PROCEDURE get_local_credential_map
(
  catalog_id 		IN NUMBER,
  credential_map 	OUT NOCOPY SYS.JSON_OBJECT_T
);

参数

Parameter (参数) 说明

catalog_id

ALL_MOUNTED_CATALOGSCATALOG_ID 列中的现有目录的 ID。

credential_map

作为 JSON 对象填充的映射。

SET_LOCAL_CREDENTIAL 过程

此过程指定在使用目录时要使用的本地身份证明。

语法

PROCEDURE set_local_credential
(
  catalog_name 			IN VARCHAR2,
  required_credential 	IN VARCHAR2,
  local_credential 		IN VARCHAR2
);

参数

Parameter (参数) 说明

catalog_name

现有目录的名称。这将转换为大写。

required_credential

所需身份证明的名称。

local_credential

要使用的身份证明。

GET_CLOUD_STORAGE_LINK_PROPERTY 函数

检索目录中云存储链接的特定属性值,例如 PROP_CUSTOMPROP_METADATA

语法

FUNCTION GET_CLOUD_STORAGE_LINK_PROPERTY
(
  catalog_name                   IN VARCHAR2,
  schema_name                    IN VARCHAR2,
  storage_link_name              IN VARCHAR2,
  storage_link_property          IN VARCHAR2
)
RETURN VARCHAR2;

参数

Parameter (参数) 说明

catalog_name

源目录的名称。该值采用大写形式。

schema_name

源目录方案的名称。

storage_link_name

云存储链路的名称。

storage_link_property

返回属性值,例如 PROP_CUSTOMPROP_METADATA

GET_CLOUD_STORAGE_LINK_PROPERTY_CLOB 函数

将云存储链路的特定属性值作为大字符对象 (CLOB) 检索。

语法

FUNCTION GET_CLOUD_STORAGE_LINK_PROPERTY_CLOB
(
  catalog_name                   IN VARCHAR2,
  schema_name                    IN VARCHAR2,
  storage_link_name              IN VARCHAR2,
  storage_link_property          IN VARCHAR2
)
RETURN CLOB;

参数

Parameter (参数) 说明

catalog_name

源目录的名称。该值采用大写形式。

schema_name

源目录方案的名称。

storage_link_name

云存储链路的名称。

storage_link_property

返回属性值,例如 PROP_CUSTOMPROP_METADATA

UPDATE_CLOUD_STORAGE_LINK_PROPERTY 过程

更新目录中云存储链路的特定属性值。

语法

PROCEDURE UPDATE_CLOUD_STORAGE_LINK_PROPERTY
(
  catalog_name                   IN VARCHAR2,
  schema_name                    IN VARCHAR2,
  storage_link_name              IN VARCHAR2,
  storage_link_property          IN VARCHAR2,
  new_value                      IN VARCHAR2
);

参数

Parameter (参数) 说明

catalog_name

源目录的名称。该值采用大写形式。

schema_name

源目录方案的名称。

storage_link_name

云存储链路的名称。

storage_link_property

更新属性值,例如 PROP_CUSTOMPROP_METADATA

new_value

为属性分配一个新值。

UPDATE_CLOUD_STORAGE_LINK_PROPERTY_CLOB 过程

将云存储链路的特定属性值更新为大字符对象 (CLOB),以获取较大的数据。

语法

PROCEDURE UPDATE_CLOUD_STORAGE_LINK_PROPERTY_CLOB
(
  catalog_name                   IN VARCHAR2,
  schema_name                    IN VARCHAR2,
  storage_link_name              IN VARCHAR2,
  storage_link_property          IN VARCHAR2,
  new_value                      IN CLOB
);

参数

Parameter (参数) 说明

catalog_name

源目录的名称。该值采用大写形式。

schema_name

源目录方案的名称。

storage_link_name

云存储链路的名称。

storage_link_property

更新属性值,例如 PROP_CUSTOMPROP_METADATA

new_value

以 CLOB 格式分配新值。

CREATE_CLOUD_STORAGE_LINK 过程

此过程将在目录中创建云存储链接。

语法

PROCEDURE create_cloud_storage_link
(
  catalog_name 			IN VARCHAR2,
  schema_name 			IN VARCHAR2,
  storage_link_name 	IN VARCHAR2,
  uri 					IN VARCHAR2,
  required_credential 	IN VARCHAR2 := NULL,
  enabled 				IN BOOLEAN := TRUE,
  replace_if_exists 	IN BOOLEAN := FALSE
);

参数

Parameter (参数) 说明

catalog_name

现有目录的名称。这将转换为大写。

schema_name:

方案名称。

storage_link_name

存储链路名称。

uri

存储桶 URI。

required_credential

必需的身份证明(或公共存储桶的 NULL)。

默认值为 NULL。

enabled

指示存储链接是否已启用搜索。默认为 TRUE。

replace_if_exists

如果链接已存在,请替换该链接。默认值为 FALSE。

DROP_CLOUD_STORAGE_LINK 过程

此过程从目录中删除云存储链接。

语法

PROCEDURE drop_cloud_storage_link
(
  catalog_name 		IN VARCHAR2,
  schema_name 		IN VARCHAR2,
  storage_link_name IN VARCHAR2
);

参数

Parameter (参数) 说明

catalog_name

现有目录的名称。这将转换为大写。

schema_name:

方案名称。

storage_link_name

存储链路名称。

GET_CLOUD_STORAGE_LINKS 函数

检索目录的特定或所有云存储链接。

语法

FUNCTION GET_CLOUD_STORAGE_LINKS
(
  catalog_name                   IN VARCHAR2,
  schema_name                    IN VARCHAR2 := NULL,
  storage_link_name              IN VARCHAR2 := NULL,
  conditions                     IN VARCHAR2 := NULL,
  flags                          IN NUMBER := 0,
  result_limit                   IN NUMBER := NULL,
  column_flags                   IN NUMBER := 0
)
RETURN CATALOG_STORAGE_LINKS PIPELINED;

参数

Parameter (参数) 说明

catalog_name

源目录的名称。该值采用大写形式。

schema_name

(可选)

源目录方案的名称。

默认值为空值。

storage_link_name

(可选)

云存储链路的名称。

默认值为空值。

conditions

(可选)

使用沿袭语法的其他筛选器表达式。

默认值为空值。

flags

(可选)

用于附加控制的标志。

默认值为 0(零)。

result_limit

(可选)

要返回的最大行数。

默认值为空值。

column_flags

(可选)

列标志,例如 FETCH_PROPERTIESFETCH_METADATA

GET_COLUMNS 函数

检索目录中表或视图中的所有列。

语法

FUNCTION GET_COLUMNS
(
  catalog_name                   IN VARCHAR2,
  schema_name                    IN VARCHAR2 := NULL,
  parent_type                    IN VARCHAR2 := NULL,
  column_name                    IN VARCHAR2 := NULL,
  conditions                     IN VARCHAR2 := NULL,
  flags                          IN NUMBER := 0,
  result_limit                   IN NUMBER := NULL,
  column_flags                   IN NUMBER := 0,
  table_name                     IN VARCHAR2 := NULL
)
RETURN COLUMN_RECORDS PIPELINED;

参数

Parameter (参数) 说明

catalog_name

源目录的名称。该值采用大写形式。

schema_name

(可选)

源目录方案的名称。

默认值为空值。

parent_type

(可选)

父对象类型,即表或视图。

默认值为空值。

column_name

(可选)

列名称。

默认值为空值。

conditions

(可选)

使用沿袭语法的其他筛选器表达式。

默认值为空值。

flags

(可选)

用于附加控制的标志。

默认值为 0(零)。

result_limit

(可选)

要返回的最大行数。

默认值为空值。

column_flags

(可选)

列标志,例如 FETCH_PROPERTIESFETCH_METADATA

默认值为 0(零)。

table_name

(可选)

源目录表的名称。

默认值为空值。

CREATE_EXTERNAL_TABLE 过程

在目录中创建外部表。

语法

PROCEDURE CREATE_EXTERNAL_TABLE
(
  catalog_name                   IN VARCHAR2,
  schema_name                    IN VARCHAR2,
  table_name                     IN VARCHAR2,
  storage_link_name              IN VARCHAR2 := NULL,
  file_uri_list                  IN CLOB,
  column_list                    IN CLOB := NULL,
  field_list                     IN CLOB := NULL,
  table_format                   IN CLOB := NULL,
  credential_name                IN VARCHAR2 := NULL,
  replace_if_exists              IN BOOLEAN := FALSE
);

参数

Parameter (参数) 说明

catalog_name

源目录的名称。该值采用大写形式。

schema_name

源目录方案的名称。

table_name

源目录表的名称。

storage_link_name

(可选)

云存储链路的名称。

默认值为空值。

file_uri_list

以 CLOB 形式显示的相对文件列表。

column_list

(可选)

列的列表。

默认值为空值。

field_list

(可选)

字段列表。

默认值为空值。

table_format

(可选)

用于读取外部文件的格式或选项,例如 CSV、Parquet 或 Avro、分隔符、标题、方案派生设置等。它表示为 JSON 键值对。

默认值为空值。

credential_name

身份证明的名称。

默认值为空值。

replace_if_exists

指明是否替换对象(如果对象已存在)。

默认值为 FALSE。

CREATE_SCHEMA 过程

在目录中创建新方案。您还可以在远程目录中创建 Apache Iceberg 方案。

语法

PROCEDURE CREATE_SCHEMA
(
  catalog_name          IN VARCHAR2,
  schema_name           IN VARCHAR2,
  schema_definition     IN CLOB := NULL
);

参数

Parameter (参数) 说明

catalog_name

源目录的名称。该值采用大写形式。

schema_name

源目录方案的名称。

schema_definition

(可选)

方案定义有效负载。

默认值为空值。

另请参见:

DROP_SCHEMA 过程

DROP_SCHEMA 过程

此过程会从目录中删除方案及其所有内容。

语法

PROCEDURE drop_schema
(
  catalog_name 	IN VARCHAR2,
  schema_name 	IN VARCHAR2
);

参数

Parameter (参数) 说明

catalog_name

现有目录的名称。这将转换为大写。

schema_name:

要删除的方案名。

GET_OBJECTS 过程

此过程提取目录的所有对象。

语法

FUNCTION get_objects
(
  catalog_name 	IN VARCHAR2,
  schema_name 	IN VARCHAR2 := NULL,
  object_name 	IN VARCHAR2 := NULL,
  conditions 	IN VARCHAR2 := NULL,
  flags 		IN NUMBER := 0,
  result_limit 	IN NUMBER := NULL
)
RETURN catalog_objects PIPELINED;

参数

Parameter (参数) 说明

catalog_name

现有目录的名称。这将转换为大写。

schema_name

可选方案名称。默认值为 NULL

object_name

可选对象名称。默认值为 NULL

conditions

使用沿袭语法的可选附加条件。默认值为 NULL

result_limit

可选结果限制。默认值为 NULL。

GET_SCHEMAS 过程

此过程将提取目录的所有方案。

语法

FUNCTION get_schemas
(
  catalog_name 	IN VARCHAR2,
  schema_name 	IN VARCHAR2 := NULL,
  conditions 	IN VARCHAR2 := NULL,
  flags 		IN NUMBER := 0,
  result_limit 	IN NUMBER := NULL,
  column_flags 	IN NUMBER := 0
)
RETURN catalog_schemas PIPELINED;

参数

Parameter (参数) 说明

catalog_name

现有目录的名称。这将转换为大写。

schema_name

可选方案名称。默认值为 NULL

conditions

使用沿袭语法的可选附加条件。默认值为 NULL

result_limit

可选结果限制。默认值为 NULL。

column_flags

可选列标志(例如 FETCH_PROPERTIESFETCH_METADATA)。默认值为 0。

GET_TABLES 过程

此过程将提取目录的所有表。

语法

FUNCTION get_tables
(
  catalog_name 		IN VARCHAR2,
  schema_name 		IN VARCHAR2 := NULL,
  table_name 		IN VARCHAR2 := NULL,
  conditions 		IN VARCHAR2 := NULL,
  flags 			IN NUMBER := 0,
  result_limit 		IN NUMBER := NULL,
  column_flags 		IN NUMBER := 0
)
RETURN catalog_tables PIPELINED;

参数

Parameter (参数) 说明

catalog_name

现有目录的名称。这将转换为大写。

schema_name

可选方案名称。默认值为 NULL

table_name

可选表名。默认值为 NULL

conditions

使用沿袭语法的可选附加条件。默认值为 NULL

result_limit

可选结果限制。默认值为 NULL。

column_flags

可选列标志(例如 FETCH_PROPERTIESFETCH_METADATA)。默认值为 0。

注意:

  • RECORD 类型使用数据库中的命名字段描述结构化数据。

  • 必须查询数据库的信息方案、系统目录,或者使用数据库自测工具查看 RECORD 类型的结构。

GET_TABLE 过程

以记录形式检索目录中特定表的详细信息,其中包含用于定制输出和高速缓存注意事项的选项。

语法

PROCEDURE GET_TABLE
(
  catalog_name                   IN VARCHAR2,
  schema_name                    IN VARCHAR2,
  table_name                     IN VARCHAR2,
  table_info                     OUT NOCOPY catalog_table,
  options                        IN CLOB := NULL,
  flags                          IN NUMBER := 0,
  column_flags                   IN NUMBER := 0,
  prev_gen_sql                   IN CLOB := NULL,
  prev_ts                        IN TIMESTAMP WITH TIME ZONE := NULL
);

参数

Parameter (参数) 说明

catalog_name

源目录的名称。该值采用大写形式。

schema_name

源目录方案的名称。

table_name

源目录表的名称。

options

生成选项作为 JSON 对象,例如 distinct、rowLimit、select、orderBy 和 directive。

默认值为空值。

flags

(可选)

用于附加控制的标志。

默认值为 0(零)。

column_flags

(可选)

列标志,例如 FETCH_PROPERTIESFETCH_METADATA

默认值为 0(零)。

prev_gen_sql

以前生成的用于增量处理的 SELECT 语句(如果已知)。

默认值为空值。

prev_ts

上一代时间戳(如果已知)。

默认值为空值。

另请参见:

GET_TABLE 函数

GET_TABLE 函数

以 JSON 格式检索特定表作为字符大对象 (CLOB) 的详细信息。

语法

FUNCTION GET_TABLE
(
  catalog_name                   IN VARCHAR2,
  schema_name                    IN VARCHAR2,
  table_name                     IN VARCHAR2,
  options                        IN CLOB := NULL,
  flags                          IN NUMBER := 0,
  column_flags                   IN NUMBER := 0,
  prev_gen_sql                   IN CLOB := NULL,
  prev_ts                        IN TIMESTAMP WITH TIME ZONE := NULL
)
RETURN CLOB;

参数

Parameter (参数) 说明

catalog_name

源目录的名称。该值采用大写形式。

schema_name

源目录方案的名称。

table_name

源目录表的名称。

options

生成选项作为 JSON 对象,例如 distinct、rowLimit、select、orderBy 和 directive。

默认值为空值。

flags

(可选)

用于附加控制的标志。

默认值为 0(零)。

column_flags

(可选)

列标志,例如 FETCH_PROPERTIESFETCH_METADATA

默认值为 0(零)。

prev_gen_sql

以前生成的用于增量处理的 SELECT 语句(如果已知)。

默认值为空值。

prev_ts

上一代时间戳(如果已知)。

默认值为空值。

另请参见:

GET_TABLE 过程

DROP_TABLE 过程

此过程将表从目录中删除。

语法

PROCEDURE drop_table
(
  catalog_name 	IN VARCHAR2,
  schema_name 	IN VARCHAR2,
  table_name 	IN VARCHAR2
);

参数

Parameter (参数) 说明

catalog_name

现有目录的名称。这将转换为大写。

schema_name

方案名称。

table_name

表名。

GENERATE_TABLE_SELECT(超载)过程

此过程会为逻辑表生成 SELECT 语句。

语法

PROCEDURE generate_table_select
(
  catalog_name 		IN VARCHAR2,
  schema_name 		IN VARCHAR2,
  table_name 		IN VARCHAR2,
  stmt 				IN OUT NOCOPY CLOB,
  options 			IN CLOB := NULL,
  prev_gen_sql 		IN CLOB := NULL,
  prev_ts 			IN TIMESTAMP WITH TIME ZONE := NULL
);

参数

Parameter (参数) 说明

catalog_name

现有目录的名称。这将转换为大写。

schema_name

方案名称。

table_name

表名。

stmt

生成的 SELECT 语句作为输出。

options

作为 JSON 对象的生成选项(例如,distinct、rowLimit、select、orderBy)。默认值为 NULL。

prev_gen_sql

以前生成的 SELECT 语句(如果已知)。默认值为 NULL。

prev_ts

上一代时间戳(如果已知)。默认值为 NULL。

语法

FUNCTION generate_table_select
(
  catalog_name 	IN VARCHAR2,
  schema_name 	IN VARCHAR2,
  table_name 	IN VARCHAR2,
  options 		IN CLOB := NULL,
  prev_gen_sql 	IN CLOB := NULL,
  prev_ts 		IN TIMESTAMP WITH TIME ZONE := NULL
)
RETURN CLOB;

参数

Parameter (参数) 说明

catalog_name

现有目录的名称。这将转换为大写。

schema_name

方案名称。

table_name

表名。

stmt

生成的 SELECT 语句作为输出。

options

作为 JSON 对象的生成选项(例如,distinct、rowLimit、select、orderBy)。默认值为 NULL。

prev_gen_sql

以前生成的 SELECT 语句(如果已知)。默认值为 NULL。

prev_ts

上一代时间戳(如果已知)。默认值为 NULL。

OPEN_TABLE_CURSOR 过程

此过程将打开一个从逻辑表中返回数据的光标。

语法

PROCEDURE open_table_cursor
(
  catalog_name 	IN VARCHAR2,
  schema_name 	IN VARCHAR2,
  table_name 	IN VARCHAR2,
  table_cursor 	IN OUT NOCOPY SYS_REFCURSOR,
  options 		IN CLOB := NULL
);

参数

Parameter (参数) 说明

catalog_name

现有目录的名称。这将转换为大写。

schema_name

可选方案名称。默认值为 NULL

table_name

可选表名。默认值为 NULL

table_cursor

用于返回数据的游标。

options

将选项生成为 JSON 对象(例如 rowLimit、select、orderBy)。默认值为 NULL。

FLUSH_CATALOG_CACHE 过程

此过程将刷新目录元数据高速缓存,

语法

PROCEDURE flush_catalog_cache
(
  catalog_name 	IN VARCHAR2,
  auto_commit	IN BOOLEAN := TRUE
);

参数

Parameter (参数) 说明

catalog_name

现有目录的名称。这将转换为大写。

auto_commit

指明是否应自动提交更改。默认为 TRUE。

PREFILL_CATALOG_CACHE 过程

此过程使用当前数据填充指定目录的高速缓存。

语法

PROCEDURE prefill_catalog_cache
(
  catalog_name 	IN VARCHAR2,
  schema_name 	IN VARCHAR2 := NULL,
  auto_commit 	IN BOOLEAN := TRUE
);

参数

Parameter (参数) 说明

catalog_name

现有目录的名称。这将转换为大写。

schema_name

方案的名称。

auto_commit

指明是否应自动提交更改。默认为 TRUE。

CREATE_SYNCHRONIZED_SCHEMAS 过程

此过程创建与远程目录定义同步的本地数据库方案。

语法

PROCEDURE create_synchronized_schemas
(
  catalog_name IN VARCHAR2,
  schema_names IN VARCHAR2 := NULL,
  restrictions IN CLOB := NULL
);

参数

Parameter (参数) 说明

catalog_name

现有目录的名称。这将转换为大写。

schema_name

以逗号分隔的方案名称列表(带引号或无引号)。默认为 NULL 以同步所有方案。

restrictions

指定目录实体范围的 JSON 文档。默认值为 NULL。

DROP_SYNCHRONIZED_SCHEMAS 过程

此过程将删除一个或多个同步方案。

语法

PROCEDURE drop_synchronized_schemas
(
  catalog_name IN VARCHAR2,
  schema_names IN VARCHAR2 := NULL,
  restrictions IN CLOB := NULL
);

参数

Parameter (参数) 说明

catalog_name

现有目录的名称。这将转换为大写。

schema_name

以逗号分隔的方案名称列表(带引号或无引号)。默认为 NULL 以同步所有方案。

restrictions

指定目录实体范围的 JSON 文档。默认值为 NULL。

UPDATE_SYNCHRONIZED_SCHEMA_PROPERTY 过程

此过程将更新同步方案的属性。

语法

PROCEDURE update_synchronized_schema_property
(
  catalog_name 	IN VARCHAR2,
  property_name IN VARCHAR2,
  new_value 	IN CLOB
);

参数

Parameter (参数) 说明

catalog_name

现有目录的名称。这将转换为大写。

property_name

要更新的属性名称。

new_value

作为 CLOB 的新值。

SYNCHRONIZE_SHARED_CATALOGS 过程

根据不再可用的共享资源处理目录。

语法

PROCEDURE SYNCHRONIZE_SHARED_CATALOGS
(
  provider_id                    IN NUMBER := NULL,
  remove_unavailable             IN BOOLEAN := TRUE
);

参数

Parameter (参数) 说明
provider_id

(可选)

标识同步的范围。更改仅限于指定的共享提供方 ID。如果为 NULL,它将同步所有注册的共享资源提供者,包括过期的共享资源。

默认值为空值。

remove_unavailable

根据共享资源可用性确定目录的操作。

  • TRUE:取消挂载已删除或不可用共享资源的对象。

  • FALSE:如果共享资源不可用,则禁用这些对象。

默认值为 TRUE。

CREATE_SYNCHRONIZED_VIEWS 过程

创建目录表的视图以定义限制。

语法

PROCEDURE CREATE_SYNCHRONIZED_VIEWS
(
  catalog_name                   IN VARCHAR2,
  schema_name                    IN VARCHAR2 := NULL,
  target_schema                  IN VARCHAR2 := NULL,
  table_names                    IN VARCHAR2 := NULL,
  view_prefix                    IN VARCHAR2 := NULL,
  replace_existing               IN BOOLEAN := FALSE,
  ignore_errors                  IN BOOLEAN := TRUE
);

参数

Parameter (参数) 说明

catalog_name

源目录的名称。该值采用大写形式。

schema_name

源目录方案的名称。

默认值为空值。

target_schema

目标方案的名称。

默认值为空值。

table_names

以逗号分隔的表名列表(如果确定了特定表的目标)。

默认值为空值。

view_prefix

用于附加到每个生成的视图名称的字符串。

默认值为空值。

replace_existing

指明是否替换对象(如果对象已存在)。

默认值为 FALSE。

ignore_errors

指示是否忽略任何错误并继续处理剩余对象。

默认值为 TRUE。

COPY_TABLE_PROPERTIES 过程

跨目录和方案将表属性和列属性(可选)从源表复制到目标表,并具有用于选择属性集和指定列重命名映射的选项。

语法

PROCEDURE COPY_TABLE_PROPERTIES
(
  catalog_name                   IN VARCHAR2,
  schema_name                    IN VARCHAR2,
  table_name                     IN VARCHAR2,
  target_catalog_name            IN VARCHAR2 := DEFAULT_CATALOG,
  target_schema_name             IN VARCHAR2 := NULL,
  target_table_name              IN VARCHAR2 := NULL,
  properties                     IN VARCHAR2 := PROP_CUSTOM,
  copy_column_props              IN BOOLEAN := TRUE,
  renamed_columns                IN CLOB := NULL
);

参数

Parameter (参数) 说明
catalog_name

源目录的名称。该值采用大写形式。

schema_name

源目录方案的名称。

table_name

源目录表的名称。

target_catalog_name

目标目录的名称。

默认值为 DEFAULT_CATALOG

target_schema_name

目标方案的名称。

默认值为空值。

target_table_name

目标目录表的名称。

默认值为空值。

properties

要复制的属性,例如 CUSTOM:prop_x。默认值为 PROP_CUSTOM

copy_column_props

指示是否复制列自定义属性。

默认值为 TRUE。

renamed_columns

重命名的目标列的 JSON 映射,例如 {"source_col":"target_col"}

默认值为空值。

另请参见:

GET_TABLE_PROPERTY 过程

GRANT_TO_RECIPIENT 过程

此过程向特定共享收件人授予对目录的访问权限。

语法

PROCEDURE grant_to_recipient
(
  catalog_name 		IN VARCHAR2,
  recipient_name 	IN VARCHAR2
);

参数

Parameter (参数) 说明

catalog_name

现有目录的名称。这将转换为大写。

recipient_name

共享资源接收者的名称(由 DBMS_SHARE.CREATE_SHARE_RECIPIENT 创建)。

REVOKE_FROM_RECIPIENT 过程

此过程将撤消特定收件人对目录的访问权限。

语法

PROCEDURE revoke_from_recipient
(
  catalog_name 		IN VARCHAR2,
  recipient_name 	IN VARCHAR2,
  owner 			IN VARCHAR2 := NULL
);	

参数

Parameter (参数) 说明

catalog_name

现有目录的名称。这将转换为大写。

recipient_name

共享资源接收者的名称(由 DBMS_SHARE.CREATE_SHARE_RECIPIENT 创建)。

owner

目录和收件人的责任人。默认值为 NULL

CLEAR_CATALOG_EVENTS 过程

以记录形式检索目录中特定表的详细信息,其中包含用于定制输出和高速缓存注意事项的选项。

语法

PROCEDURE CLEAR_CATALOG_EVENTS
(
  catalog_name                   IN VARCHAR2,
  from_time                      IN TIMESTAMP WITH TIME ZONE := NULL,
  to_time                        IN TIMESTAMP WITH TIME ZONE := NULL
);

参数

Parameter (参数) 说明

catalog_name

源目录的名称。该值采用大写形式。

from_time

可选

要清除的事件范围的开始时间。

默认值为空值。

to_time

可选

要清除的事件范围的结束时间。

默认值为空值。

CREATE_ICEBERG_TABLE 过程

在目录中的指定方案内创建新的 Iceberg 表,并返回生成的元数据。

语法

PROCEDURE CREATE_ICEBERG_TABLE
(
  catalog_name                   IN VARCHAR2,
  schema_name                    IN VARCHAR2,
  table_name                     IN VARCHAR2,
  table_definition               IN CLOB,
  out_metadata                   OUT NOCOPY CLOB
);

参数

Parameter (参数) 说明
catalog_name

源目录的名称。该值采用大写形式。

schema_name

源目录方案的名称。

table_name

新表的名称。

table_definition

作为 CLOB 的表定义。

out_metadata

输出后生成的表元数据。

另请参见:

ADD_ICEBERG_SNAPSHOT 过程

ADD_ICEBERG_SNAPSHOT 过程

Iceberg 表添加快照以表示数据更改,包括详细的元数据和用于跟踪沿袭和内容的可选参数。

语法

PROCEDURE ADD_ICEBERG_SNAPSHOT
(
  catalog_name                   IN VARCHAR2,
  schema_name                    IN VARCHAR2,
  table_name                     IN VARCHAR2,
  new_snapshot_id                IN NUMBER,
  new_timestamp                  TIMESTAMP WITH TIME ZONE,
  new_manifest_list              IN VARCHAR2,
  new_summary                    IN CLOB := NULL,
  new_parent_snapshot_id         IN NUMBER := NULL,
  new_sequence_number            IN NUMBER := NULL,
  new_first_row_id               IN NUMBER := NULL,
  new_added_row_count            IN NUMBER := NULL,
  new_schema_id                  IN NUMBER := NULL,
  requirements                   IN CLOB := NULL,
  out_metadata                   OUT NOCOPY CLOB
);

参数

Parameter (参数) 说明
catalog_name

源目录的名称。该值采用大写形式。

schema_name

源目录方案的名称。

table_name

新表的名称。

new_snapshot_id

新快照的唯一标识符。

new_timestamp

创建快照的时间戳。

new_manifest_list

清单列表文件的位置、路径或 URI。

new_summary

快照的元数据摘要,至少包括“操作”字段。

new_parent_snapshot_id

此快照的父项的 ID。这不适用于根快照。

new_sequence_number

用于跟踪表更改顺序的增量编号。

new_first_row_id

为快照的第一个数据文件中的第一行分配的起始行 ID。

new_added_row_count

快照中添加的行数。

new_schema_id

创建快照时处于活动状态的表方案的 ID。

requirements

提交的先决条件,采用 JSON 数组形式。

out_metadata

输出后生成的表元数据。

另请参见:

CREATE_ICEBERG_TABLE 过程