DBMS_CATALOGの概要

この項では、Autonomous AI Databaseで提供されるDBMS_CATALOGサブプログラムについて説明します。

カタログのマウントとアンマウント

サブプログラム 摘要

mount_db_link

このプロシージャは、データベース・リンクに基づいてカタログをマウントします。

mount_shares

この手順では、シェアプロバイダから複数のカタログをマウントし、さまざまな入力タイプをサポートするためにオーバーロードします。

mount_share

この手順では、シェアに基づいて単一のカタログをマウントします。

mount_virtual_catalog

この手順では、新しい仮想カタログを作成およびマウントします。

mount_data_catalog

このプロシージャは、AWS GLUEやOCI Data Catalogなどのデータ・カタログをマウントします。

mount_iceberg

この手順では、特定の構成を持つIcebergカタログをマウントします。

マウント解除

このプロシージャは、既存の外部カタログをアンマウントします。

カタログ・プロパティ管理

サブプログラム 摘要

get_catalog_propertyおよびget_catalog_property_clob

次のプロシージャは、カタログのプロパティ値を取得します。

update_catalog_propertyおよびupdate_catalog_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

これらのプロシージャは、表のプロパティ値を更新します。

資格証明管理

サブプログラム 摘要

add_required_credential

このプロシージャは、カタログに必要な資格証明を定義します。

remove_required_credential

このプロシージャは、カタログから必要な資格証明を削除します。

rename_required_credential

このプロシージャは、必要な資格証明の名前を変更します。

update_required_credential_property

このプロシージャは、必要な資格証明のプロパティを更新します。

get_required_credential_property

このプロシージャは、必要な資格証明のプロパティを取得します。

set_local_credential

このプロシージャは、必要な資格証明のローカル資格証明を指定します。

get_local_credential_map このプロシージャは、必要な資格証明とローカル資格証明の間のマッピングを取得し、様々な出力形式のオーバーロードを使用します。

カタログEntity Management

サブプログラム 摘要

create_cloud_storage_linkおよびdrop_cloud_storage_link

次の手順では、カタログ内のクラウドストレージリンクを管理します。

create_external_table

このプロシージャは、カタログ内に外部表を作成します。

drop_schema およびdrop_table

このプロシージャは、カタログからスキーマおよび表を削除します。

get_tablesget_schemasおよびget_objects

このプロシージャは、パイプライン・ファンクションを使用して、カタログ内の表、スキーマおよびオブジェクトのメタデータを取得します。

データ・アクセスとキャッシング

サブプログラム 摘要

generate_table_select

このプロシージャは、プロシージャとファンクションの両方のオーバーロードを使用して、論理表に対してSELECT文を作成します。

open_table_cursor

このプロシージャは、論理表からデータを返すカーソルをオープンします。

flush_catalog_cacheおよびprefill_catalog_cache

このプロシージャは、カタログ・メタデータ・キャッシュを管理します。

同期と共有

サブプログラム 摘要

create_synchronized_schemasおよびdrop_synchronized_schemas

次のプロシージャは、同期スキーマとリモート・カタログ定義を管理します。

update_synchronized_schema_property

このプロシージャは、同期スキーマのプロパティを更新します。

grant_to_recipientおよびrevoke_from_recipient

次の手順では、カタログ受信者のアクセス権限を管理します。

MOUNT_DB_LINKプロシージャ

このプロシージャは、データベース・リンクに基づいて外部カタログをマウントします。

構文

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

パラメータ

パラメータ 摘要

catalog_name

新規カタログの名前。これは大文字に変換されます。

db_link

カタログのマウントに使用するデータベース・リンク。

enabled

カタログが検索に使用可能かどうかを示します。デフォルトはTRUEです。

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
);

パラメータ

パラメータ 摘要

share_provider:

共有プロバイダの名前。

shares

マウントするシェアのリストを定義するJSON配列。各要素は、shareNamerequiredshareNameRulecatalogNameskipExistingplaceholderenabledなどのプロパティを指定します。

created_catalogs

新しく作成されたカタログのJSON配列で、shareNamecatalogNameなどのプロパティを使用して出力として返されます。

share_provider_owner

共有プロバイダの所有者。NULLの場合は、現在のカタログにデフォルト設定されます。

2番目のプロシージャの構文

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

3番目のプロシージャの構文

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

2番目のプロシージャのパラメータ

パラメータはプロシージャ1と同じですが、created_catalogsは指定されていません。

3番目のプロシージャのパラメータ

シェアは、すべてのシェアを含むデフォルト値を持つ CLOBを除き、パラメータはシグネチャ1と同一です。

/****************** 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_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
);

パラメータ

パラメータ 摘要

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_VIRTUAL_CATALOGプロシージャ

この手順では、新しい仮想カタログを作成およびマウントします。

構文

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

パラメータ

パラメータ 摘要

catalog_name

新規カタログの名前。これは大文字に変換されます。

enabled

カタログが検索に使用可能かどうかを示します。デフォルト値はTRUEです。

MOUNT_DATA_CATALOGプロシージャ

このプロシージャは、データ・カタログ(AWS GLUEやOCI Data Catalogなど)をマウントします。

構文

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
);

パラメータ

パラメータ 摘要

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_ICEBERGプロシージャ

この手順では、Icebergカタログをマウントします。

構文

Icebergカタログの詳細は、Iceberg REST Catalog Specを参照してください。

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'
);

パラメータ

パラメータ 摘要

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;
/

UNMOUNTプロシージャ

このプロシージャは、外部カタログをアンマウントします。

構文

PROCEDURE unmount
(
  catalog_name IN VARCHAR2
);

パラメータ

パラメータ 摘要

catalog_name

アンマウントする既存のカタログの名前。これは大文字に変換されます。

GET_CATALOG_PROPERTYプロシージャ

このプロシージャは、カタログのプロパティの値を返します。

構文

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

パラメータ

パラメータ 摘要

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;

パラメータ

パラメータ 摘要

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
);

パラメータ

パラメータ 摘要

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
);

パラメータ

パラメータ 摘要

catalog_name

既存のカタログの名前。これは大文字に変換されます。

catalog_property

これは、取得するプロパティ(PROP_CACHE_DURATIONPROP_IS_ENABLEDなど)を示します。

new_value

CLOBの新しいプロパティ値。

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
);

パラメータ

パラメータ 摘要

catalog_name

既存のカタログの名前。これは大文字に変換されます。

schema_name

このスキーマの名前。

table_name

この表の名前。

table_property

更新するプロパティ。

new_value

CLOBの新しいプロパティ値。

GET_SCHEMA_PROPERTYプロシージャ

このプロシージャは、スキーマのプロパティの値を返します。

構文

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

パラメータ

パラメータ 摘要

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;

パラメータ

パラメータ 摘要

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
);

パラメータ

パラメータ 摘要

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;

パラメータ

パラメータ 摘要

catalog_name

既存のカタログの名前。これは大文字に変換されます。

schema_name

このスキーマの名前。

table_property

取得するプロパティ。

table_name

この表の名前。

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;

パラメータ

パラメータ 摘要

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
);

パラメータ

パラメータ 摘要

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
);

パラメータ

パラメータ 摘要

catalog_name

既存のカタログの名前。これは大文字に変換されます。

schema_name

このスキーマの名前。

table_name

この表の名前。

table_property

更新するプロパティ。

new_value

CLOBの新しいプロパティ値。

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
);

パラメータ

パラメータ 摘要

catalog_name

既存のカタログの名前。これは大文字に変換されます。

required_credential

必要な資格証明の名前。

local_credential

使用するオプションのローカル資格証明です。デフォルトはNULLです。

credential_type

このフィールドはオプションです。このパラメータは、オブジェクト・ストレージやその他のデータベースなどの外部サービスへのアクセスに使用される認証メカニズムのタイプを指定します。たとえば、oci、aws、azureまたはslack_credentialです。

詳細は、カタログ・タイプおよび定数を参照してください。

REMOVE_REQUIRED_CREDENTIALプロシージャ

このプロシージャは、カタログから必要な資格証明を削除します。

構文

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

パラメータ

パラメータ 摘要

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
);

パラメータ

パラメータ 摘要

catalog_name

既存のカタログの名前。これは大文字に変換されます。

old_credential_name

必要な資格証明の古い名前。

new_credential_name

必要な資格証明の新しい名前。

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
);

パラメータ

パラメータ 摘要

catalog_name

既存のカタログの名前。これは大文字に変換されます。

required_credential

必要な資格証明の名前。

credential_property

プロパティ名(PROP_REQUIRED_CREDENTIAL_DESCRIPTIONPROP_REQUIRED_CREDENTIAL_VAULT_SECRETなど)。

new_value

プロパティの新しい値。

GET_REQUIRED_CREDENTIAL_PROPERTYプロシージャ

このプロシージャは、名前付き必須資格証明のプロパティを取得します。

構文

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

パラメータ

パラメータ 摘要

catalog_name

既存のカタログの名前。これは大文字に変換されます。

required_credential

必要な資格証明の名前。

credential_property

プロパティ名(PROP_REQUIRED_CREDENTIAL_DESCRIPTIONPROP_REQUIRED_CREDENTIAL_VAULT_SECRETなど)。

SET_LOCAL_CREDENTIALプロシージャ

このプロシージャは、カタログの使用時に使用するローカル資格証明を指定します。

構文

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

パラメータ

パラメータ 摘要

catalog_name

既存のカタログの名前。これは大文字に変換されます。

required_credential

必要な資格証明の名前。

local_credential

使用する資格証明。

GET_LOCAL_CREDENTIAL_MAP (オーバーロード)プロシージャ

このプロシージャは、必要な資格証明のローカル資格証明へのマップを取得します。

構文1

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

パラメータ

パラメータ 摘要

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;

パラメータ

パラメータ 摘要

catalog_name

既存のカタログの名前。

show_errors

これにより、無効なローカル資格証明のエラー・メッセージが表示されます。デフォルトは0です。

pretty_json

JSONをPRETTYオプションでフォーマットします。デフォルトは0です。

構文3

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

パラメータ

パラメータ 摘要

catalog_id

ALL_MOUNTED_CATALOGSCATALOG_ID 列にある既存のカタログのID。

credential_map

JSONオブジェクトとして移入されたマップ。

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
);

パラメータ

パラメータ 摘要

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
);

パラメータ

パラメータ 摘要

catalog_name

既存のカタログの名前。これは大文字に変換されます。

schema_name:

スキーマ名。

storage_link_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,
  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
);

パラメータ

パラメータ 摘要

catalog_name

既存のカタログの名前。これは大文字に変換されます。

schema_name

スキーマ名。

table_name

表名。

storage_link_name

ストレージリンク名。

file_uri_list

CLOBとしての相対ファイル・リスト。

column_list

オプションの列リスト。デフォルトはNULL。

field_list

オプションのフィールド・リスト。デフォルトはNULL。

table_format

オプションの書式情報。デフォルトはNULL。

credential_name

必要な資格証明。デフォルトはNULL。

replace_if_exists

表がすでに存在する場合は、その表を置換します。デフォルト値はFALSEです。

DROP_SCHEMAプロシージャ

このプロシージャは、すべてのコンテンツとともにカタログからスキーマを削除します。

構文

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

パラメータ

パラメータ 摘要

catalog_name

既存のカタログの名前。これは大文字に変換されます。

schema_name:

削除するスキーマ名。

DROP_TABLEプロシージャ

このプロシージャは、カタログから表を削除します。

構文

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

パラメータ

パラメータ 摘要

catalog_name

既存のカタログの名前。これは大文字に変換されます。

schema_name

スキーマ名。

table_name

表名。

CREATE_SCHEMAプロシージャ

このプロシージャは、カタログに新しいスキーマを作成します。

構文

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

パラメータ

パラメータ 摘要

catalog_name

既存のカタログの名前。これは大文字に変換されます。

schema_name

スキーマ名。

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;

パラメータ

パラメータ 摘要

catalog_name

既存のカタログの名前。これは大文字に変換されます。

schema_name

オプションのスキーマ名。デフォルトはNULLです。

table_name

オプションの表名。デフォルトはNULLです。

conditions

系統構文を使用したオプションの追加条件。デフォルトはNULLです。

result_limit

オプションの結果制限。デフォルトはNULL。

column_flags

オプションの列フラグ(FETCH_PROPERTIESFETCH_METADATAなど)。デフォルトは0です。

ノート

  • RECORD型は、データベース内の名前付きフィールドを含む構造化データを記述します。

  • データベースの情報スキーマ、システム・カタログを問い合せるか、データベース・イントロスペクション・ツールを使用してRECORD型の構造を確認する必要があります。

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;

パラメータ

パラメータ 摘要

catalog_name

既存のカタログの名前。これは大文字に変換されます。

schema_name

オプションのスキーマ名。デフォルトはNULLです。

conditions

系統構文を使用したオプションの追加条件。デフォルトはNULLです。

result_limit

オプションの結果制限。デフォルトはNULL。

column_flags

オプションの列フラグ(FETCH_PROPERTIESFETCH_METADATAなど)。デフォルトは0です。

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;

パラメータ

パラメータ 摘要

catalog_name

既存のカタログの名前。これは大文字に変換されます。

schema_name

オプションのスキーマ名。デフォルトはNULLです。

object_name

オプションのオブジェクト名。デフォルトはNULLです。

conditions

系統構文を使用したオプションの追加条件。デフォルトはNULLです。

result_limit

オプションの結果制限。デフォルトはNULL。

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
);

パラメータ

パラメータ 摘要

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;

パラメータ

パラメータ 摘要

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
);

パラメータ

パラメータ 摘要

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
);

パラメータ

パラメータ 摘要

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
);

パラメータ

パラメータ 摘要

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
);

パラメータ

パラメータ 摘要

catalog_name

既存のカタログの名前。これは大文字に変換されます。

schema_name

スキーマ名のカンマ区切りリスト(引用符付きまたは引用符なし)。すべてのスキーマを同期するには、デフォルトでNULLに設定されます。

restrictions

カタログ・エンティティのスコープを指定するJSONドキュメント。デフォルトはNULL。

DROP_SYNCHRONIZED_SCHEMASプロシージャ

このプロシージャは、1つ以上の同期スキーマを削除します。

構文

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

パラメータ

パラメータ 摘要

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
);

パラメータ

パラメータ 摘要

catalog_name

既存のカタログの名前。これは大文字に変換されます。

property_name

更新するプロパティ名。

new_value

CLOBとしての新しい値。

GRANT_TO_RECIPIENTプロシージャ

このプロシージャは、カタログに対するアクセス権を特定の共有受信者に付与します。

構文

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

パラメータ

パラメータ 摘要

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
);	

パラメータ

パラメータ 摘要

catalog_name

既存のカタログの名前。これは大文字に変換されます。

recipient_name

共有受信者の名前(DBMS_SHARE.CREATE_SHARE_RECIPIENTで作成)。

owner

カタログと受信者の両方の所有者。デフォルトはNULLです。