DBMS_CLOUD_LINK_ADMINパッケージ

DBMS_CLOUD_LINK_ADMINパッケージを使用すると、ADMINユーザーはデータベース・ユーザーによって、付与されたスコープで定義されたアクセス制限に従って、特定のAutonomous Databaseインスタンスに対するデータ・セットの登録や、登録されたデータ・セットへのアクセスが可能になります。

データ・セットの登録または登録済データ・セットへのアクセス権限が設定されているユーザーに対しても、権限を無効にできます。

DBMS_CLOUD_LINK_ADMIN概要

DBMS_CLOUD_LINK_ADMINパッケージの使用について説明します。

クラウド・リンクは、Autonomous Databaseインスタンス上の読取り専用データにリモートでアクセスするためのクラウドベースの方法を提供します。DBMS_CLOUD_LINK_ADMINパッケージは、Oracle Cloud Infrastructureアクセス・メカニズムを利用して、特定のスコープ内でデータ・セットにアクセスできるようにし、さらにオプションの認可ステップがあります。

DBMS_CLOUD_LINK_ADMINサブプログラムの要約

この表は、DBMS_CLOUD_LINK_ADMINパッケージに含まれるサブプログラムの概要を示しています。

サブプログラム 摘要

ADD_SERVICE_MAPPINGプロシージャ

このプロシージャは、クラウド・リンク・コンシューマ・データベースをデータベース・サービスに関連付けます。

GRANT_AUTHORIZEプロシージャ

DBMS_CLOUD_LINK.GRANT_AUTHORIZATIONプロシージャおよびDBMS_CLOUD_LINK.REVOKE_AUTHORIZATIONプロシージャを起動する権限をユーザーに付与します。

GRANT_READプロシージャ

登録時にデータ・セットに課せられたアクセス制限に従って、登録済データ・セットの読取りをユーザーに許可します。

GRANT_REGISTERプロシージャ

リモート・アクセス用のデータ・セットの登録をユーザーに許可します。

REMOVE_SERVICE_MAPPINGプロシージャ

指定されたデータベースのサービス・マッピングを削除します。

REVOKE_AUTHORIZEプロシージャ

DBMS_CLOUD_LINK.GRANT_AUTHORIZATIONプロシージャおよびDBMS_CLOUD_LINK.REVOKE_AUTHORIZATIONプロシージャを起動するユーザーの権限を取り消します。

REVOKE_READプロシージャ

ユーザーは、Autonomous Databaseインスタンスの登録済データ・セットにアクセスできません。

REVOKE_REGISTERプロシージャ

リモート・アクセス用のデータ・セットの登録をユーザーに許可しません。ユーザーによってすでに登録されたデータセットは影響を受けません。

ADD_SERVICE_MAPPINGプロシージャ

プロシージャDBMS_CLOUD_LINK_ADMIN.ADD_SERVICE_MAPPINGは、コンシューマ・データベースをデータベース・サービスに関連付けます。

構文

DBMS_CLOUD_LINK_ADMIN.ADD_SERVICE_MAPPING(
      database_id        IN   VARCHAR2,
      service_name       IN   VARCHAR2
);

パラメータ

パラメータ 摘要

database_id

クラウド・リンク・コンシューマであるAutonomous DatabaseインスタンスのデータベースIDを指定します。DBMS_CLOUD_LINK.GET_DATABASE_IDを使用して、データベースIDを取得します。

ANYは、指定されたservice_name値を、データベース識別子と一致するエントリを持たないすべてのコンシューマ・データベースに関連付けます。つまり、service_nameDBMS_CLOUD_LINK_ADMIN.ADD_SERVICE_MAPPINGで設定されていないdatabase_idです。

有効な値: データベースIDまたはANY

service_name

データベース・サービス名を指定します。有効な値は、ワークロード・タイプによって異なります。

  • データ・ウェアハウス: 有効な値は、HIGHMEDIUMLOWです

  • トランザクション処理JSONデータベースまたはAPEX: 有効な値は、TPTPURGENTHIGHMEDIUMLOWです

使用上のノート

  • DBMS_CLOUD_LINK_ADMIN.ADD_SERVICE_MAPPINGを実行できるのは、ADMINユーザーおよびPDB_DBAロールを持つスキーマのみです。

  • DBMS_CLOUD_LINK_ADMIN.ADD_SERVICE_MAPPINGは、データ・セット所有者のAutonomous Databaseインスタンスで実行する必要があります。

GRANT_AUTHORIZEプロシージャ

このプロシージャは、DBMS_CLOUD_LINK.GRANT_AUTHORIZATIONプロシージャおよびDBMS_CLOUD_LINK.REVOKE_AUTHORIZATIONプロシージャを起動する権限をユーザーに付与します。

構文

DBMS_CLOUD_LINK_ADMIN.GRANT_AUTHORIZE(
      username        IN   VARCHAR2
);

パラメータ

パラメータ 摘要

username

ユーザー名を指定します。

使用上のノート

  • DBMS_CLOUD_LINK.GRANT_AUTHORIZATIONを使用してデータ・セットの認可を有効にするには、DBMS_CLOUD_LINK_ADMIN.GRANT_AUTHORIZEを使用して権限を付与する必要があります。これはADMINユーザーにも当てはまりますが、ADMINユーザーはこの権限を自分に付与できます。

GRANT_READプロシージャ

このプロシージャを使用すると、ユーザーは、DBMS_CLOUD_LINK_ADMIN.GRANT_REGISTERを使用してデータ・セットを登録するときにデータ・セットに課されるアクセス制限に従って、登録済データ・セットを読み取ることができます。

構文

DBMS_CLOUD_LINK_ADMIN.GRANT_READ(
      username        IN   VARCHAR2
);

パラメータ

パラメータ 摘要

username

ユーザー名を指定します。

使用上のノート

  • データ・セットを読み取るには、DBMS_CLOUD_LINK_ADMIN.GRANT_READを使用して権限を付与する必要があります。これはADMINユーザーにも当てはまりますが、ADMINユーザーはこの権限を自分に付与できます。

  • ユーザーは、SYS_CONTEXT('USERENV', 'CLOUD_LINK_READ_ENABLED')を問い合せて、データ・セットへのREADアクセスが有効になっているかどうかを確認できます。

    たとえば、次の問合せをします。

    SELECT SYS_CONTEXT('USERENV', 'CLOUD_LINK_READ_ENABLED') FROM DUAL;

    'YES'または'NO''を戻します。

GRANT_REGISTERプロシージャ

このプロシージャを使用すると、ユーザーはリモート・アクセス用のデータ・セットを登録できます。

構文

DBMS_CLOUD_LINK_ADMIN.GRANT_REGISTER(
      username        IN   VARCHAR2,
      scope           IN   CLOB
);

パラメータ

パラメータ 摘要

username

ユーザー名を指定します。

scope

パブリッシュする権限を指定されたユーザーに付与するスコープを指定します。

有効な値は次のとおりです。

  • 'MY$REGION'
  • 'MY$TENANCY'
  • 'MY$COMPARTMENT'

使用上のノート

  • データ・セットを登録するには、DBMS_CLOUD_LINK_ADMIN.GRANT_REGISTERに権限を付与する必要があります。これはADMINユーザーにも当てはまりますが、ADMINユーザーはこの権限を自分に付与できます。

  • ユーザーは、SYS_CONTEXT('USERENV', 'CLOUD_LINK_REGISTER_ENABLED')を問い合せて、データ・セットの登録が有効になっているかどうかを確認できます。

    たとえば、次の問合せをします。

    SELECT SYS_CONTEXT('USERENV', 'CLOUD_LINK_REGISTER_ENABLED') FROM DUAL;

    'YES'または'NO''を戻します。

REMOVE_SERVICE_MAPPINGプロシージャ

プロシージャDBMS_CLOUD_LINK_ADMIN.REMOVE_SERVICE_MAPPINGは、指定されたデータベースのサービス・マッピングを削除します。

構文

DBMS_CLOUD_LINK_ADMIN.REMOVE_SERVICE_MAPPING(
      database_id        IN   VARCHAR2
);

パラメータ

パラメータ 摘要

database_id

Autonomous DatabaseインスタンスのデータベースIDを指定します。DBMS_CLOUD_LINK.GET_DATABASE_IDを使用して、データベースIDを取得します。

値"ANY"は、データベース識別子に一致するエントリを持たないすべてのコンシューマ・データベースで、指定されたservice_name値を削除します。つまり、service_nameDBMS_CLOUD_LINK_ADMIN.ADD_SERVICE_MAPPINGで設定されていないdatabase_idです。

有効な値: データベースIDまたはANY

使用上のノート

DBMS_CLOUD_LINK_ADMIN.REMOVE_SERVICE_MAPPINGを実行できるのは、ADMINユーザーおよびPDB_DBAロールを持つスキーマのみです。

REVOKE_AUTHORIZEプロシージャ

このプロシージャを使用すると、ユーザーはDBMS_CLOUD_LINK.GRANT_AUTHORIZATIONプロシージャおよびDBMS_CLOUD_LINK.REVOKE_AUTHORIZATIONプロシージャを起動できません。

構文

DBMS_CLOUD_LINK_ADMIN.REVOKE_AUTHORIZE(
      username        IN   VARCHAR2
);

パラメータ

パラメータ 摘要

username

ユーザー名を指定します。

REVOKE_READプロシージャ

このプロシージャにより、ユーザーはAutonomous Databaseインスタンス上の登録済データ・セットにアクセスできません。

構文

DBMS_CLOUD_LINK_ADMIN.REVOKE_READ(
      username        IN   VARCHAR2
);

パラメータ

パラメータ 摘要

username

ユーザー名を指定します。

使用上のノート

  • ユーザーは、SYS_CONTEXT('USERENV', 'CLOUD_LINK_READ_ENABLED')を問い合せて、データ・セットへのREADアクセスが有効になっているかどうかを確認できます。

    たとえば、次の問合せをします。

    SELECT SYS_CONTEXT('USERENV', 'CLOUD_LINK_READ_ENABLED') FROM DUAL;

    'YES'または'NO''を戻します。

REVOKE_REGISTERプロシージャ

このプロシージャでは、ユーザーはリモート・アクセス用のデータ・セットを登録できません。ユーザーによってすでに登録されたデータセットは影響を受けません。

構文

DBMS_CLOUD_LINK_ADMIN.REVOKE_REGISTER(
      username        IN   VARCHAR2
);

パラメータ

パラメータ 摘要

username

ユーザー名を指定します。

使用上のノート

  • ユーザーは、SYS_CONTEXT('USERENV', 'CLOUD_LINK_REGISTER_ENABLED')を問い合せて、データ・セットの登録が有効になっているかどうかを確認できます。

    たとえば、次の問合せをします。

    SELECT SYS_CONTEXT('USERENV', 'CLOUD_LINK_REGISTER_ENABLED') FROM DUAL;

    'YES'または'NO''を戻します。