Autonomous Database上の読取り専用データへのアクセスに対するクラウド・リンクの使用

クラウド・リンクは、Autonomous Databaseインスタンス上の読取り専用データにリモートでアクセスするためのクラウドベースの方法を提供します。

Autonomous Databaseのクラウド・リンクについて

クラウド・リンクを使用すると、データ所有者は、データ所有者が定義したとおりに、選択したオーディエンスに対するリモート・アクセス用の表またはビューを登録し、登録時にアクセス権が付与されたユーザーがデータにアクセスできます。クラウド・リンクを設定するためにこれ以上のアクションは必要ありません。また、データを表示してアクセスする必要があるユーザーは、データを検出して操作できます。

クラウド・リンクの実装では、Oracle Cloud Infrastructureのアクセス・メカニズムを利用して、特定のスコープ内でデータにアクセスできるようにします。スコープは、データにリモートでアクセスできるユーザーを示します。スコープは、データベースが存在するリージョン、個々のテナンシ、コンパートメントなどの様々なレベルに設定できます。また、データ・セットにアクセスする認可が1つ以上のAutonomous Databaseインスタンスに制限されるように指定できます。

ソース(データ・セット所有者)のAutonomous Databaseインスタンスから1つ以上のリージョン間リフレッシュ可能クローンを作成することで、クラウド・リンクを使用して複数のリージョン間でデータを共有できます。

クラウド・リンクは、従来のデータベース・リンク・メカニズムと比較して、Autonomous Databaseインスタンス間での表またはビューの共有を大幅に簡素化します。クラウド・リンクを使用すると、複雑なデータベース・リンクの設定を必要とせずにデータを検出できます。Autonomous Databaseは、SQLを使用した透過的なアクセスを提供し、クラウド・リンク・スコープおよび個々のAutonomous Databaseインスタンスに認可を付与することで権限の適用を実装します。

クラウド・リンクは、リモートからアクセス可能になったデータのリージョン・ネームスペースおよび名前の概念を紹介します。これは、ネームスペース(スキーマ)に存在する"EMP"など、表が存在する既存のOracle表("LWARD"など)に似ています。データベースには1つのLWARD.EMPのみを指定できます。クラウド・リンクは、リージョン・レベルで同様のネームスペースと名前を提供します。これは、単一のデータベースには関連付けられませんが、スコープで指定された多くのAutonomous Databaseインスタンス、およびオプションでデータベース認可とともに適用されます。

たとえば、ネームスペースFORESTの下にデータ・セットを登録し、セキュリティ上の目的やネーミングを容易にします。元のスキーマ名およびオブジェクト名以外のネームスペースと名前を指定することもできます。この例では、TREE_DATAは登録済データ・セットの表示名であり、この名前をソース表の名前にする必要はありません。ネームスペースおよび名前に加えて、cloud$linkキーワードは、ソースをクラウド・リンクとして解決する必要があることをデータベースに示します。

登録済のデータ・セットにアクセスするには、SELECT文のFROM句にネームスペース、名前およびcloud$linkキーワードを含めます。

SELECT county, species, height FROM FOREST.TREE_DATA@cloud$link;

オプションで、1つ以上のデータベースからデータ・セットへのアクセスがリフレッシュ可能クローンにオフロードされるように指定できます。コンシューマAutonomous Databaseがデータ・セットのオフロード・リストにリストされると、データ・セットへのアクセスがリフレッシュ可能クローンに転送されます。また、統合問合せオフロード機能を使用すると、エラスティック・プール・リーダーまたはメンバーをクラウド・リンク・プロバイダとして構成し、ProxySQL問合せオフロードを有効にして、任意の数のリフレッシュ可能クローンに問合せ(読取り)をオフロードできます。

ノート

クラウド・リンクでは、Autonomous Databaseインスタンス上のリモート・オブジェクトへの読取り専用アクセスが提供されます。他のOracleデータベースまたはOracle以外のデータベースとのデータベース・リンクを使用する場合、またはDML操作でリモート・データを使用する場合は、データベース・リンクを使用する必要があります。詳細は、Autonomous Databaseでのデータベース・リンクの使用に関する項を参照してください。
クラウド・リンクは、プライベート・シノニムとパブリック・シノニムをサポートしています。たとえば、FOREST.TREE_DATA@cloud$linkのシノニムを定義して使用できます。
CREATE SYNONYM S1 for FOREST.TREE_DATA@cloud$link;
SELECT county, species, height FROM S1;

CREATE PUBLIC SYNONYM S2 for FOREST.TREE_DATA@cloud$link;
SELECT * FROM S2;

シノニムの詳細は、「シノニムの概要」を参照してください。

クラウド・リンク条件

クラウド・リンクの操作時に使用する概念と用語はいくつかあります。

  • 登録済データ・セット(データ・セット): Autonomous Databaseでリモート・アクセスが有効になっている表またはビューを識別します。登録済のデータ・セットは、データ・セットへのアクセスを許可されるユーザー(そのスコープ)も示します。データ・セット登録では、クラウド・リンクで使用するネームスペースおよび名前を定義します。データ・セット登録後、これらの値は一緒にリモート・アクセス用の完全修飾名(FQN)を指定し、クラウド・リンクがデータ・セットのアクセシビリティを管理できるようにします。

  • データ・セット所有者: データ・セットに関する質問の窓口を提供するデータ・セット所有者を指定します。

  • スコープ: 登録したデータ・セットへのアクセスを許可されるユーザー、およびその場所を指定します。スコープの詳細は、「データ・セットのスコープ、アクセス制御および認可」を参照してください。

  • OCID (Oracle Cloud Identifier): 特定のテナンシ、コンパートメントまたはデータベースを識別します。登録済データ・セットのスコープは、OCIDsで表すことができます。詳細は、「リソース識別子」を参照してください。

  • データ登録: データ登録では、ユーザーは、スコープによって課されるアクセス制限に従って、リモート・アクセス用に表またはビューを使用できるようにし、オプションで追加の認可ステップに従います。データベースに格納されている表またはビュー、またはオブジェクト・ストアに格納されているデータに対するクラウド・リンクを使用したリモート・アクセスを許可できます。

  • データ検出: 登録済のデータ・セットは、データベースからのテキスト問合せを使用して検出できます。データ・セットにアクセスする権限がある場合、検出ではデータ・セットのみが表示されます。登録済データ・セットを名前または摘要で検索できます。

  • データ記述: ユーザーは、登録済データ・セットとして使用可能にした表またはビューの説明またはメタデータを取得できます。

  • オフロード・ターゲット: オプションで、1つ以上のオフロード・ターゲットを指定できます。オフロード・ターゲットは、指定されたAutonomous Databaseインスタンスへのクラウド・リンク・データ・セットを提供するリフレッシュ可能なクローンです。オフロード・ターゲットを指定することで、Autonomous Databaseインスタンスを専用にして、本番と開発を分離したり、パフォーマンスを確保したり、セキュリティを確保したり、その他の理由でデータ・セットを提供できます。詳細は、「Autonomous Databaseでのリフレッシュ可能クローンの使用方法」を参照してください。

クラウド・リンク監査

クラウド・リンクを使用した登録済データ・セットへのアクセスは、監査目的で記録されます。ログには、データ・セットにアクセスしたテナンシ、コンパートメントまたはデータベース、アクセスされたデータの量および追加情報が含まれます。V$CLOUD_LINK_ACCESS_STATSビューおよびGV$CLOUD_LINK_ACCESS_STATSビューには、監査情報が表示されます。

データ・セット・メタデータおよび監査ビュー

各Autonomous Databaseインスタンスには、データ・セット・メタデータを公開し、データの使用状況を監視および監査できるビューが用意されています。詳細は、クラウド・リンク情報のモニターおよび表示を参照してください。

データ・セットのスコープ、アクセス制御および認可

クラウド・リンクは、Oracle Cloud Infrastructureのアクセス・メカニズムを利用して、登録されたデータ・セットにアクセス可能にし、アクセス制限によりデータを保護します。

Autonomous Databaseは、次のように登録済データ・セットのアクセシビリティを決定します:

  • ADMINユーザーは、指定されたスコープに基づいてデータ・セットを登録できるユーザーのスコープを指定します。

  • データ・セットを登録する権限を付与されているユーザーは、データ・セットを登録するときにスコープを指定します。

  • オプションで、データ・セットを登録するときに、認可権限を付与されたユーザーは、データ・セットへのアクセスに必要な認可ステップを指定できます。この認可ステップは、スコープ・レベルのアクセス認可の他にあります。

データ・セット範囲

ADMINは、DBMS_CLOUD_LINK_ADMIN.GRANT_REGISTERを使用してユーザーのスコープを次のいずれかに設定します。

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

ユーザーのスコープは階層型です。つまり、これらのスコープのいずれかを付与されたユーザーは、次のようにアクセスを許可できます。

  • MY$REGION: データ・セットを登録しているAutonomous Databaseインスタンスのリージョン内で、他のテナンシへのリモート・データ・アクセス権を付与できます。これは、最も制限の少ないスコープです。

  • MY$TENANCY: データ・セットを登録しているAutonomous Databaseインスタンスのテナンシ内で、任意のリソース、テナンシ、コンパートメントまたはデータベースへのリモート・データ・アクセス権を付与できます。このスコープは、MY$REGIONスコープより制限されています。

  • MY$COMPARTMENT: データ・セットを登録しているAutonomous Databaseインスタンスのコンパートメント内で、任意のリソース、コンパートメントまたはデータベースへのリモート・データ・アクセス権を付与できます。これは、GRANT_REGISTERを使用してユーザーに設定できる最も制限の多いスコープです。

次に、データ・セットの登録時に設定するスコープによって、ユーザーがデータ・セットにアクセスできる場所が決まります。DBMS_CLOUD_LINK.REGISTER scopeは、次のものを1つ以上含むコンマで区切られたリストです:

  • データベースOCID: データ・セットへのアクセスは、OCIDによって識別される特定のAutonomous Databaseインスタンスに対して許可されています。

  • コンパートメントOCID: データ・セットへのアクセスは、コンパートメントOCIDによって識別されるコンパートメント内のデータベースに対して許可されています。

  • テナンシOCID: テナンシOCIDによって識別されるテナンシのデータベースに対して、データ・セットへのアクセスが許可されます。

  • リージョン名: データ・セットへのアクセスは、名前付きリージョンで識別されるリージョン内のデータベースに対して許可されます。いずれの場合も、クラウド・リンクへのアクセスは単一のリージョン内に制限され、クロスリージョンではありません。

  • MY$COMPARTMENT: データ・セットへのアクセスは、データ・セット所有者と同じコンパートメント内のデータベースに対して許可されます。

  • MY$TENANCY: データ・セットへのアクセスは、データ・セット所有者と同じテナンシ内のデータベースに対して許可されます。

  • MY$REGION: データ・セットへのアクセスは、データ・セット所有者と同じリージョン内のデータベースに対して許可されます。

スコープ値MY$REGIONMY$TENANCYおよびMY$COMPARTMENTは、利便性マクロとして機能し、OCIDsに解決される変数です。

ノート

データ・セットの登録時に設定したスコープは、DBMS_CLOUD_LINK_ADMIN.GRANT_REGISTERで設定した値セットと一致するか、より制限的である場合にのみ適用されます。たとえば、ADMINがGRANT_REGISTERでスコープ'MY$TENANCY'を付与し、ユーザーがDBMS_CLOUD_LINK.REGISTERでデータ・セットを登録するときに'MY$REGION'を指定したとします。この場合、次のようなエラーが表示されます。
ORA-20001: Share privileges are not enabled for current user or it is enabled but not for scope MY$REGION

SYS_CONTEXT値に基づく追加のアクセス制御メカニズムを使用することもできます。このメカニズムでは、SYS_CONTEXT値として使用可能な識別子を返すファンクションDBMS_CLOUD_LINK.GET_DATABASE_IDを使用します。

DBMS_CLOUD_LINK.REGISTERでデータ・セットを登録する場合、Oracle Virtual Private Database (VPD)セキュリティ・ポリシーでSYS_CONTEXT値を使用してデータベース・アクセスを制御し、個々のAutonomous Databaseインスタンスでアクセスできる特定のデータをさらに制限および制御できます。

VPDポリシーの使用の詳細は、登録済データ・セットを保護するための仮想プライベート・データベース・ポリシーの定義を参照してください。

データベースIDの値は、アクセス統計および監査情報を追跡するV$CLOUD_LINK_ACCESS_STATSビューおよびGV$CLOUD_LINK_ACCESS_STATSビューでも使用できます。

詳細は、「Oracle Virtual Private Databaseを使用したデータ・アクセスの制御」を参照してください。

データ・セット承認

データ・セットを登録するときに、認可権限が付与されている場合は、データ・セットへのアクセスにデータベースOCID認可が必要であることを指定できます。データ・セットのデータベースOCID認可を提供するには、DBMS_CLOUD_LINK.GRANT_AUTHORIZATIONプロシージャを使用して、データ・セットへのアクセスを許可されているAutonomous Databaseインスタンスを指定します。DBMS_CLOUD_LINK.GRANT_AUTHORIZATIONを実行する前に、ADMINはDBMS_CLOUD_LINK_ADMIN.GRANT_AUTHORIZEでこのプロシージャの実行を認可する必要があります。

認可が必要なデータ・セット登録では、次のように、データ・セットに指定されたスコープ・アクセス制御に加えて、データ・セットのデータベース・レベル・アクセスを指定します。

  • 指定されたSCOPE内にあり、DBMS_CLOUD_LINK.GRANT_AUTHORIZATIONで認可されているデータベースは、データ・セットの行を表示できます。

  • 指定されたSCOPE内にあるが、DBMS_CLOUD_LINK.GRANT_AUTHORIZATIONで認可されていないデータベースは、データ・セット行を表示できません。この場合、認可のないコンシューマは、データセットを空とみなします。

  • 指定されたSCOPE内にないデータベースでは、データ・セットにアクセスしようとするとエラーが表示されます。

データベース・ユーザーのクラウド・リンク・アクセス権の付与

ADMINユーザーは、データ・セットを登録する権限をデータベース・ユーザーに付与します。また、ADMINユーザーは、登録済データ・セットにアクセスする権限をデータベース・ユーザーに付与します。

ADMINユーザーが登録権限を付与すると、(スコープ階層内の)データ・セットの登録時にユーザーが指定できる最大スコープを指定するスコープが提供されます。DBMS_CLOUD_LINK_ADMIN.GRANT_REGISTERで使用する有効なscope値は、次のとおりです。

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

詳細は、「データ・セットのスコープ、アクセス制御および認可」を参照してください。

  1. ADMINユーザーとして、指定したスコープ内のデータ・セットの登録をユーザーに許可します。
    BEGIN
    DBMS_CLOUD_LINK_ADMIN.GRANT_REGISTER(
       username => 'DB_USER1',
       scope    => 'MY$REGION');
    END;
    /

    これは、ユーザーDB_USER1に、指定されたスコープ 'MY$REGION'内のデータ・セットを登録する権限があることを指定します。

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

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

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

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

    詳細は、GRANT_REGISTERプロシージャを参照してください。

  2. ADMINユーザーとして、登録済データ・セットへのアクセスをユーザーに許可します。
    EXEC DBMS_CLOUD_LINK_ADMIN.GRANT_READ('LWARD');

    これにより、LWARDは、Autonomous Databaseインスタンスで使用可能な登録済データ・セットにアクセスできます。

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

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

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

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

    詳細は、GRANT_READプロシージャを参照してください。

  3. データ登録時に、認可の必須パラメータをTRUEに設定できます。必要な認可がTRUEの場合、ADMINユーザーはDBMS_CLOUD_LINK_ADMIN.GRANT_AUTHORIZEを実行して、DBMS_CLOUD_LINK.GRANT_AUTHORIZATIONを起動する認可を提供する必要があります。DBMS_CLOUD_LINK.GRANT_AUTHORIZATIONを使用して、認可の詳細を指定します。

    詳細は、「認可が必要なデータ・セットの登録」を参照してください。

  4. Autonomous DatabaseインスタンスでDatabase Vaultが有効になっており、クラウド・リンクに登録する表またはビューがレルムによって保護されている場合、表またはビューの所有者は、登録前にレルム所有者としてレルムに認可されている必要があります。
    BEGIN
         DBMS_MACADM.ADD_AUTH_TO_REALM(
               realm_name   => 'myrealm',
               grantee      => 'object_owner',
               auth_option  => dbms_macutl.g_realm_auth_owner);
    END;
    /

    表またはビューを保護するレルムが必須レルムである場合、接続スキーマとして内部的に使用されるC##DATA$SHAREという名前のAutonomous Database共通スキーマは、レルム参加者としてレルムに認可される必要があります。

    たとえば:

    BEGIN
         DBMS_MACADM.ADD_AUTH_TO_REALM(
               realm_name   => 'myrealm',
               grantee      => 'C##DATA$SHARE',
               auth_option  => dbms_macutl.g_realm_auth_participant);
    END;
    /

    詳細は、「Autonomous DatabaseでのOracle Database Vaultの使用方法」を参照してください。

データ・セットを登録するための権限をデータベース・ユーザーに付与するためのノート:

  • データ・セットを登録したり、リモート・データ・セットを表示およびアクセスするには、DBMS_CLOUD_LINK_ADMIN.GRANT_REGISTERに登録するか、DBMS_CLOUD_LINK_ADMIN.GRANT_READを使用してデータ・セットを読み取るための適切な権限が付与されている必要があります。

    これはADMINユーザーにも当てはまりますが、ADMINユーザーは自分に権限を付与できます。

  • ビューDBA_CLOUD_LINK_PRIVSおよびUSER_CLOUD_LINK_PRIVSは、ユーザー権限に関する情報を提供します。詳細は、クラウド・リンク情報のモニターおよび表示を参照してください。

  • ユーザーは、次の問合せを実行して、登録済の保護されたデータ・セットの認証が有効になっているかどうかを確認できます。

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

データベース・ユーザーのクラウド・リンク・アクセスの取消し

ADMINユーザーは、登録を取り消して、リモート・アクセス用のデータ・セットの登録を禁止できます。ADMINユーザーは、登録済データ・セットにアクセスする権限またはデータベース・ユーザーを取り消すこともできます。

  1. ADMINユーザーとして、データ・セットを登録するユーザーの権限を取り消します。

    たとえば:

    EXEC DBMS_CLOUD_LINK_ADMIN.REVOKE_REGISTER('DB_USER1');

    これにより、ユーザーDB_USER1のデータ・セットを登録する権限が取り消されます。

    DBMS_CLOUD_LINK_ADMIN.REVOKE_REGISTERの実行は、すでに登録されているデータ・セットには影響しません。DBMS_CLOUD_LINK.UNREGISTERを使用して、登録済データ・セットのアクセス権を削除します。

    詳細は、REVOKE_REGISTERプロシージャおよびUNREGISTERプロシージャを参照してください。

  2. ADMINユーザーとして、登録済のデータ・セットへのアクセスを取り消します。

    たとえば:

    EXEC DBMS_CLOUD_LINK_ADMIN.REVOKE_READ('LWARD');

    これにより、ユーザーLWARDのクラウド・リンク・データ・セットへのアクセスが取り消されます。

    詳細は、REVOKE_READプロシージャを参照してください。

データ・セットの登録

クラウド・リンクと共有する登録済データ・セットとして所有する表またはビューを登録するためのオプションおよびステップについて説明します。

データ・セットの登録または登録解除

所有している表またはビューを登録済のデータ・セットとして登録できます。データ・セットを削除または置換する場合は、そのデータ・セットを登録解除する必要があります。データ・セットを登録した後は、データ・セットの属性の値を変更できます。

データ・セット登録では、クラウド・リンクで使用するネームスペースおよび名前を定義します。データ・セット登録後、これらの値は一緒にリモート・アクセス用の完全修飾名(FQN)を指定し、クラウド・リンクがデータ・セットのアクセシビリティを管理できるようにします。

データ・セットを登録するには:

  1. ADMINユーザーから権限付与登録を取得します。
  2. 1つ以上のデータ・セットを登録します。

    たとえば、Autonomous DatabaseインスタンスにスキーマCLOUDLINKがある場合、SALES_VIEW_AGGSALES_ALLの2つのオブジェクトを登録し、異なるscopeパラメータを指定して、オブジェクトへのアクセス方法を決定できます。

    BEGIN
       DBMS_CLOUD_LINK.REGISTER(
        schema_name    => 'CLOUDLINK',
        schema_object  => 'SALES_VIEW_AGG',
        namespace      => 'REGIONAL_SALES', 
        name           => 'SALES_AGG',
        description    => 'Aggregated regional sales information.',
        scope          => 'MY$TENANCY',
        auth_required  =>  FALSE,
        data_set_owner =>  'amit@example.com' );
    END;
    /
    BEGIN
       DBMS_CLOUD_LINK.REGISTER(
        schema_name    => 'CLOUDLINK',
        schema_object  => 'SALES_ALL',
        namespace      => 'TRUSTED_COMPARTMENT', 
        name           => 'SALES',
        description    => 'Trusted Compartment, only accessible within my compartment. Early sales data.',
        scope          => 'MY$COMPARTMENT',
        auth_required  =>  FALSE,
        data_set_owner =>  'amit@example.com' );
    END;
    /

    パラメータは次のとおりです。

    • schema_name: スキーマ名(オブジェクト所有者)です。

    • schema_object: オブジェクトの名前です。有効なオブジェクトは次のとおりです。

      ノート

      分析ビューやシノニムなどの他のオブジェクトはサポートされていません。
    • namespace: クラウド・リンク(クラウド・リンクFQNの一部)でアクセスするための名前として指定したネームスペースです。

      NULL値は、Autonomous Databaseインスタンスに固有の、システム生成のnamespace値を指定します。

    • name: クラウド・リンク(クラウド・リンクFQNの一部)でアクセスするために指定する名前です。

    • description: データを説明するテキストを指定します。

    • scope: スコープを指定します。MY$REGIONMY$TENANCYまたはMY$COMPARTMENTのいずれかの変数を使用するか、1つ以上のOCIDsを指定できます。

      詳細は、「データ・セットのスコープ、アクセス制御および認可」を参照してください。

    • auth_required: スコープ・アクセス制御に加えて、データ・セットにデータベース・レベルの認可が必要かどうかを指定するブール値。これをTRUEに設定すると、データ・セットによって追加の認可ステップが強制されます。詳細は、「認可が必要なデータ・セットの登録」を参照してください。

    • data_set_owner: テキスト値は、データ・セットの責任者またはデータ・セットに関する質問の担当者に関する情報を指定します。たとえば、データ・セット所有者のEメール・アドレスを指定できます。

    詳細は、REGISTERプロシージャを参照してください。

    この例では、登録が完了すると、DBMS_CLOUD_LINK.REGISTERで指定したスコープ・パラメータに基づいて、2つの登録済オブジェクトのスコープが異なります。

    • MY$TENANCY: REGIONAL_SALES.SALES_AGGのテナンシ・レベルのスコープを指定します。

    • MY$COMPARTMENT: TRUSTED_COMPARTMENT.SALESのテナンシ内のより制限の厳しいコンパートメント・レベルのスコープを指定します。

データ・セットを登録した後、データ・セットの属性の一部の値を更新できます。詳細は、「データ・セット登録属性の更新」を参照してください。

登録済データ・セットへのリモート・アクセスを取り消す場合は、データ・セットの登録を解除します。

たとえば:

BEGIN
   DBMS_CLOUD_LINK.UNREGISTER(
    namespace      => 'TRUSTED_COMPARTMENT', 
    name           => 'SALES');
END;
/

詳細は、UNREGISTERプロシージャを参照してください。

データ・セットの登録または登録解除に関するノート

DBMS_CLOUD_LINK.REGISTERにデータ・セットを登録し、DBMS_CLOUD_LINK.UNREGISTERにデータ・セットを登録解除するためのノートを提供します。

  • オブジェクトを登録した後、ユーザーはクラウド・リンクを使用してオブジェクトにアクセスするために最大10分待機する必要がある場合があります。

  • データ・セットを登録し、リモート・リージョンのコンシューマがデータ・セットにアクセスできるようにする場合は、追加ステップを実行して、リモート・リージョンでデータ・セットを使用可能にする必要があります。詳細は、「別のリージョンでのデータ・セットの登録または登録解除」を参照してください。

  • プロシージャDBMS_CLOUD_LINK.UPDATE_REGISTRATIONを使用して、既存のデータ・セットの属性を変更します。

    更新が完了するまでの待機時間は、登録の変更が伝播され、クラウド・リンクを介してアクセス可能になるまで最大10分です。この遅延は、DBA_CLOUD_LINK_REGISTRATIONSビューとDBA_CLOUD_LINK_ACCESSビューの両方のデータの精度に影響を与える可能性があります。

  • 表またはビューに対するREAD WITH GRANT OPTION権限がある場合は、別のユーザーのスキーマに存在する表またはビューを登録できます。

  • Autonomous Databaseでは、登録時に階層的な妥当性チェックが実行されず、スコープ外の登録は表示またはアクセスできなくなります。

    たとえば、次のシーケンスを考えてみます。

    1. スコープMY$COMPARTMENTを持つユーザーは、個々のデータベースOCIDを指定するスコープにオブジェクトを登録します。

    2. ユーザーが登録済データ・セットへのアクセスをリクエストすると、Autonomous Databaseはチェックを実行して、リクエストが発生したデータベースのデータベースOCIDが、データ・セットの登録時にscopeで指定されたOCIDリストにあることを確認します。

    3. この後、namespace.nameオブジェクトは、リクエストが発生したデータベースで検出可能、表示可能および使用可能になります。

  • DBMS_CLOUD_LINK.UNREGISTERは、完全に伝播するのに最大10分かかる場合があり、その後、リモートからデータにアクセスできるようになります。

別のリージョンでのデータ・セットの登録または登録解除

複数のリージョンでクラウド・リンクを使用できます。このリージョンでは、ソース・リージョンにデータ・セットのソース・データベースが含まれ、1つ以上のリモート・リージョンにソース・データベースのリフレッシュ可能なクローンが含まれます。

cloud-links-cross-region-refreshable-clone.pngの説明が続きます
図cloud-links-cross-region-refreshable-clone.pngの説明

異なるリージョンのデータ・セットでクラウド・リンクを使用するには:

  1. リモート・リージョンにソース・データベースのクロスリージョン・リフレッシュ可能クローンを作成します。

    クロス・リージョン・リフレッシュ可能クローンの追加の詳細は、クロス・テナンシまたはクロス・リージョン・リフレッシュ可能クローンの作成を参照してください。

  2. ソース・データベースで、データ・セットを登録します。

    詳細は、「データ・セットの登録または登録解除」を参照してください。

  3. リフレッシュ可能なクローンをリフレッシュします
  4. リモートの「リフレッシュ可能クローン」で、データ・セットをソース・リージョンに登録するために使用したのと同じ引数を使用して、データ・セットを登録します。

    たとえば、Autonomous DatabaseインスタンスにスキーマCLOUDLINKがある場合、ソース・データベースにSALES_ALLを登録した後、リフレッシュ可能クローンにSALES_ALLを登録します:

    BEGIN
       DBMS_CLOUD_LINK.REGISTER(
        schema_name    => 'CLOUDLINK',
        schema_object  => 'SALES_ALL',
        namespace      => 'TRUSTED_COMPARTMENT', 
        name           => 'SALES',
        description    => 'Trusted Compartment, only accessible within my compartment. Early sales data.',
        scope          => 'MY$COMPARTMENT',
        auth_required  =>  FALSE,
        data_set_owner =>  'amit@example.com' );
    END;
    /

    パラメータは次のとおりです。

    • schema_name: スキーマ名(オブジェクト所有者)です。

    • schema_object: オブジェクトの名前です。有効なオブジェクトは次のとおりです。

      • 表(ヒープ、外部またはハイブリッドを含む)
      • ビュー
      • マテリアライズド・ビュー
      ノート

      分析ビューやシノニムなどの他のオブジェクトはサポートされていません。
    • namespace: クラウド・リンク(クラウド・リンクFQNの一部)でアクセスするための名前として指定したネームスペースです。

      NULL値は、Autonomous Databaseインスタンスに固有の、システム生成のnamespace値を指定します。

    • name: クラウド・リンク(クラウド・リンクFQNの一部)でアクセスするために指定する名前です。

    • description: データを説明するテキストを指定します。

    • scope: スコープを指定します。MY$REGIONMY$TENANCYまたはMY$COMPARTMENTのいずれかの変数を使用するか、1つ以上のOCIDsを指定できます。

      詳細は、「データ・セットのスコープ、アクセス制御および認可」を参照してください。

    • auth_required: スコープ・アクセス制御に加えて、データ・セットにデータベース・レベルの認可が必要かどうかを指定するブール値。これをTRUEに設定すると、データ・セットによって追加の認可ステップが強制されます。詳細は、「認可が必要なデータ・セットの登録」を参照してください。

    • data_set_owner: テキスト値は、データ・セットの責任者またはデータ・セットに関する質問の担当者に関する情報を指定します。たとえば、データ・セット所有者のEメール・アドレスを指定できます。

    詳細は、REGISTERプロシージャを参照してください。

    リフレッシュ可能クローンで登録が完了すると、登録済オブジェクトのスコープはMY$COMPARTMENTです: TRUSTED_COMPARTMENT.SALESのテナンシ内のコンパートメントに対して、より制限の厳しいコンパートメント・レベルのスコープを指定します。

リモート・データ・セットの登録は、リモート・リージョン内、またはリモート・リージョンとソース・リージョンの両方でのみ解除できます。

リモート・リージョンでデータ・セットを登録解除し、データ・セットへのリモート・アクセスを無効にするには:

  1. リフレッシュ可能クローンで、データ・セットの登録を解除します。

    たとえば:

    BEGIN
       DBMS_CLOUD_LINK.UNREGISTER(
        namespace      => 'TRUSTED_COMPARTMENT', 
        name           => 'SALES');
    END;
    /
  2. リフレッシュ可能なクローンをリフレッシュします

    詳細は、Autonomous Databaseでのリフレッシュ可能クローンのリフレッシュを参照してください。

ソース・データベースでデータ・セットを登録解除し、リモート・リージョンのリフレッシュ可能クローンでデータ・セットを登録解除するには:

  1. リモート・リフレッシュ可能クローンで1つのみの場合、またはリモート・リージョンに複数のリフレッシュ可能クローンがある場合は、そのデータ・セットの登録を解除します。

    たとえば:

    BEGIN
       DBMS_CLOUD_LINK.UNREGISTER(
        namespace      => 'TRUSTED_COMPARTMENT', 
        name           => 'SALES');
    END;
    /
  2. ソース・データベースで、データ・セットの登録を解除します。

    詳細は、「データ・セットの登録または登録解除」を参照してください。

  3. リフレッシュ可能クローンをリフレッシュします。

    詳細は、Autonomous Databaseでのリフレッシュ可能クローンのリフレッシュを参照してください。

リモート・リージョンへのデータ・セットの登録または登録解除に関するノート

リモート・リージョンにデータ・セットを登録するためのノートを提供します。

  • リモート・リージョンのリフレッシュ可能クローンにデータ・セットを登録する場合、リモート・リージョン・クローンでのDBMS_CLOUD_LINK.REGISTERの起動では、offload_targetsパラメータを除いて、ソース・データベースと同じ値を持つ同じパラメータを使用する必要があります。

    たとえば、ソースAutonomous DatabaseインスタンスでスコープがMY$COMPARTMENTに設定されたDBMS_CLOUD_LINK.REGISTERを実行する場合、同じスコープ・パラメータ値(MY$COMPARTMENT)を持つクロスリージョン・リフレッシュ可能クローンでプロシージャを再度実行します。

  • ソースでDBMS_CLOUD_LINK.REGISTERoffload_targetsパラメータを指定する場合は、リフレッシュ可能クローンにデータ・セットを登録するときに、このパラメータを省略する必要があります。

  • オブジェクトを登録した後、ユーザーはクラウド・リンクを使用してオブジェクトにアクセスするために最大10分待機する必要がある場合があります。

  • 次のアクションでは、リフレッシュ可能クローンをリフレッシュする必要があります。

    • ソースのデータ・セットにVPDポリシーを追加する場合は、リフレッシュ可能クローンをリフレッシュする必要があります。

    • ソース・データベースでデータ・セットに対して付与または取消しを実行する場合は、リフレッシュ可能クローンをリフレッシュする必要があります。

    詳細は、Autonomous Databaseでのリフレッシュ可能クローンのリフレッシュを参照してください。

認可が必要なデータ・セットの登録

オプションで、データ・セットを登録するときに、スコープに加えて、データ・セットへのアクセスにデータベース・レベルの認可が必要であることを指定できます。

auth_requiredFALSEに設定した前述の例と比較して、この例ではauth_requiredTRUEに設定します。auth_requiredTRUEの場合、データ・セットへのアクセスを許可する1つ以上のデータベースを指定するための追加のステップが必要です。

ノート

権限を付与できるのは、次のステップに示すように、権限がある場合のみです。ADMINは、DBMS_CLOUD_LINK_ADMIN.GRANT_AUTHORIZEを使用して認可権限を付与します。
  1. DBMS_CLOUD_LINK.REGISTERを使用して、必要な認可でデータを登録します。

    Autonomous DatabaseインスタンスにスキーマCLOUDLINKがあり、オブジェクトSALES_VIEW_AGGを登録し、auth_requiredTRUEに設定した場合、スコープの定義に加えて、オブジェクトへのアクセス方法を決定する追加のステップを事前に実行する必要があります。

    BEGIN
       DBMS_CLOUD_LINK.REGISTER(
        schema_name    => 'CLOUDLINK',
        schema_object  => 'SALES_VIEW_AGG',
        namespace      => 'REGIONAL_SALES', 
        name           => 'SALES_AGG',
        description    => 'Aggregated regional sales information.',
        scope          => 'MY$TENANCY',
        auth_required  =>  TRUE,
        data_set_owner =>  'amit@example.com' );
    END;
    /

    パラメータは次のとおりです。

    • schema_name: スキーマ名(オブジェクト所有者)です。

    • schema_object: オブジェクトの名前です。有効なオブジェクトは次のとおりです。

      • 表(ヒープ、外部またはハイブリッドを含む)
      • ビュー
      • マテリアライズド・ビュー
      ノート

      分析ビューやシノニムなどの他のオブジェクトはサポートされていません。
    • namespace: クラウド・リンク(クラウド・リンクFQNの一部)でアクセスするための名前として指定したネームスペースです。

      NULL値は、Autonomous Databaseインスタンスに固有の、システム生成のnamespace値を指定します。

    • name: クラウド・リンク(クラウド・リンクFQNの一部)でアクセスするために指定する名前です。

    • scope: スコープを指定します。MY$REGIONMY$TENANCYまたはMY$COMPARTMENTのいずれかの変数を使用するか、1つ以上のOCIDsを指定できます。

      詳細は、「データ・セットのスコープ、アクセス制御および認可」を参照してください。

    • auth_required: スコープ・アクセス制御に加えて、データ・セットにデータベース・レベルの認可が必要かどうかを指定するブール値。これをTRUEに設定すると、データ・セットによって追加の認可ステップが強制されます。

    • data_set_owner: テキスト値は、データ・セットの責任者またはデータ・セットに関する質問の担当者に関する情報を指定します。たとえば、データ・セット所有者のEメール・アドレスを指定できます。

  2. 認可を付与するデータベースのデータベースIDを取得します(データベースのデータ・セットへのアクセスを許可するため)。

    システムで、データ セットへのアクセスを許可します。

    SELECT DBMS_CLOUD_LINK.GET_DATABASE_ID FROM DUAL:
  3. 取得したデータベースIDを使用して、指定したデータ・セットに認可を付与します。

    権限を付与するだけで、このステップに示すようにDBMS_CLOUD_LINK.GRANT_AUTHORIZATIONを実行できます(権限がある場合)。ADMINは、DBMS_CLOUD_LINK_ADMIN.GRANT_AUTHORIZEを使用して認可を付与します。

    BEGIN
       DBMS_CLOUD_LINK.GRANT_AUTHORIZATION(
        database_id    => '120xxxxxxx8506029999',
        namespace      => 'TRUSTED_COMPARTMENT', 
        name           => 'SALES');
    END;
    /

    追加のデータベースを認可する場合は、これらのステップを複数回実行します。

データ・セットの登録後に、auth_requiredパラメータの値を更新できます。詳細は、「データ・セット登録属性の更新」を参照してください。

データベースの認可を取り消す場合:

BEGIN
   DBMS_CLOUD_LINK.REVOKE_AUTHORIZATION(
    database_id    => '120xxxxxxx8506029999',
    namespace      => 'TRUSTED_COMPARTMENT', 
    name           => 'SALES');
END;
/

詳細は、次を参照してください:

データ・セット・アクセスのオフロード・ターゲットへのデータ・セットの登録

オプションで、データ・セットを登録するときに、データ・セットへのアクセスを、リフレッシュ可能なクローンである1つ以上のAutonomous Databaseインスタンスにオフロードできます。

オプションのoffload_targetsパラメータをDBMS_CLOUD_LINK.REGISTERとともに使用して、アクセスがリフレッシュ可能なクローンにオフロードされるように指定します。各リフレッシュ可能クローンのソース・データベースは、データ・セット(データ・パブリッシャ)を登録するAutonomous Databaseインスタンスです。

offload_targets値は、1つ以上のCLOUD_LINK_DATABASE_IDおよびOFFLOAD_TARGETキー値のペアを定義するJSONドキュメントです。

  • CLOUD_LINK_DATABASE_IDは、次のいずれかです。

    • データベースID: これは、OFFLOAD_TARGET値で指定された対応するリフレッシュ可能クローンにリクエストがオフロードされるデータ・セット・コンシューマのデータベースIDを指定します。

      DBMS_CLOUD_LINK.GET_DATABASE_IDを実行してデータベースIDを取得します。詳細は、GET_DATABASE_IDファンクションを参照してください。

    • ANY: これは、データ・セット・コンシューマのリクエストが対応するオフロード・ターゲットにオフロードされることを指定します。コンシューマのデータ・セット・リクエストは、対応するオフロード・ターゲットにルーティングされます。

      データベースIDを指定せずにANYを指定すると、コンシューマからのすべてのデータ・セット・リクエストは、OFFLOAD_TARGET値で指定されたリフレッシュ可能クローンにオフロードされます。

      データベースIDとANYの両方を指定すると、データベースIDと一致しないコンシューマからのデータ・セット・リクエストは、OFFLOAD_TARGET値で指定されたリフレッシュ可能クローンにオフロードされます。

  • OFFLOAD_TARGETは、リフレッシュ可能なクローンであるAutonomous DatabaseインスタンスのOCIDです。

次の図は、オフロード・ターゲットの使用方法を示しています。

データ・セット・コンシューマが、offload_targetsに登録したデータ・セットへのアクセスをリクエストし、Autonomous DatabaseインスタンスのデータベースIDがCLOUD_LINK_DATABASE_IDで指定された値と一致する場合、アクセスは、指定されたJSONのOFFLOAD_TARGETで識別されたリフレッシュ可能クローンにオフロードされます。

たとえば、3つのOFFLOAD_TARGET/CLOUD_LINK_DATABASE_ID値ペアを持つJSONサンプルを次に示します。

{
  "OFFLOAD_TARGETS": [
    {
      "CLOUD_LINK_DATABASE_ID": "34xxxxx69708978",
      "OFFLOAD_TARGET":
"ocid1.autonomousdatabase.oc1..xxxxx3pv6wkcr4jqae5f44n2b2m2yt2j6rx32uzr4h25vqstifsfabc"
    },
    {
      "CLOUD_LINK_DATABASE_ID": "34xxxxx89898978",
      "OFFLOAD_TARGET":
"ocid1.autonomousdatabase.oc1..xxxxx3pv6wkcr4jqae5f44n2b2m2yt2j6rx32uzr4h25vqstifsfdef"
    },
    {
      "CLOUD_LINK_DATABASE_ID": "34xxxxx4755680",
      "OFFLOAD_TARGET":
"ocid1.autonomousdatabase.oc1..xxxxx3pv6wkcr4jqae5f44n2b2m2yt2j6rx32uzr4h25vqstifsfghi"
    }
  ]
}

データ・セット・コンシューマが、ANYキーワードを含むoffload_targetsに登録したデータ・セットへのアクセスを要求すると、アクセスは、指定されたJSONのOFFLOAD_TARGETで識別されたリフレッシュ可能クローン(指定されたJSONに一致するデータベースIDエントリを持つコンシューマからのリクエストを除く)にオフロードされます。

たとえば、1つの明示的なOFFLOAD_TARGET/CLOUD_LINK_DATABASE_ID値ペア、および1つのANY値に対応する OFFLOAD_TARGETを持つJSONサンプルを次に示します。

{
  "OFFLOAD_TARGETS": [
    {
      "CLOUD_LINK_DATABASE_ID": "ANY",
      "OFFLOAD_TARGET":
"ocid1.autonomousdatabase.oc1..xxxxx3pv6wkcr4jqae5f44n2b2m2yt2j6rx32uzr4h25vqstifsfdef"
    },
    {
      "CLOUD_LINK_DATABASE_ID": "34xxxxx4755680",
      "OFFLOAD_TARGET":
"ocid1.autonomousdatabase.oc1..xxxxx3pv6wkcr4jqae5f44n2b2m2yt2j6rx32uzr4h25vqstifsfghi"
    }
  ]
}

データ・セットを登録し、オフロード・ターゲットを指定するには、次の手順を実行します。

  1. データ・セット・アクセスをオフロードする1つ以上のリフレッシュ可能クローンのOCIDを取得します。リフレッシュ可能クローンOCIDsは、リフレッシュ可能クローンのOracle Cloud Infrastructure Consoleで使用できます。
    ノート

    オフロード・ターゲットとして表示されるリフレッシュ可能クローンのリフレッシュ可能クローンを作成した後、最大10分かかる場合があります。つまり、リフレッシュ可能クローンをクラウド・リンク・オフロード登録で使用できるようにするには、リフレッシュ可能クローンを作成してから最大10分待機する必要がある場合があります。
  2. リフレッシュ可能クローンによって提供されるデータを使用して、データ・セットにアクセスする1つ以上のAutonomous DatabaseインスタンスのデータベースIDを取得します。

    リフレッシュ可能クローンからデータ・セットにアクセスするシステムで、次のコマンドを実行します:

    SELECT DBMS_CLOUD_LINK.GET_DATABASE_ID FROM DUAL:
  3. データ・セットを登録し、offload_targetsパラメータを指定します。

    たとえば、Autonomous DatabaseインスタンスにスキーマCLOUDLINKがある場合、SALES_VIEW_AGGを登録し、データ・セットへのアクセス権を提供するリフレッシュ可能クローンを指定できます:

    BEGIN
       DBMS_CLOUD_LINK.REGISTER(
        schema_name     => 'CLOUDLINK',
        schema_object   => 'SALES_VIEW_AGG',
        namespace       => 'REGIONAL_SALES', 
        name            => 'SALES_AGG',
        description     => 'Aggregated regional sales information.',
        scope           => 'MY$TENANCY',
        auth_required   =>  FALSE,
        data_set_owner  =>  'amit@example.com',
        offload_targets => '{
      "OFFLOAD_TARGETS": [
        {
          "CLOUD_LINK_DATABASE_ID": "34xxxx754755680",
          "OFFLOAD_TARGET":
    "ocid1.autonomousdatabase.oc1..xxxxxaaba3pv6wkcr4jqae5f44n2b2m2yt2j6rx32uzr4h25vqstifsfghi"
        }
      ]
    }');
    END;
    /

    パラメータは次のとおりです。

    • schema_name: スキーマ名(オブジェクト所有者)です。

    • schema_object: オブジェクトの名前です。有効なオブジェクトは次のとおりです。

      • 表(ヒープ、外部またはハイブリッドを含む)
      • ビュー
      • マテリアライズド・ビュー
      ノート

      分析ビューやシノニムなどの他のオブジェクトはサポートされていません。
    • namespace: クラウド・リンク(クラウド・リンクFQNの一部)でアクセスするための名前として指定したネームスペースです。

      NULL値は、Autonomous Databaseインスタンスに固有の、システム生成のnamespace値を指定します。

    • name: クラウド・リンク(クラウド・リンクFQNの一部)でアクセスするために指定する名前です。

    • scope: スコープを指定します。MY$REGIONMY$TENANCYまたはMY$COMPARTMENTのいずれかの変数を使用するか、1つ以上のOCIDsを指定できます。

      詳細は、「データ・セットのスコープ、アクセス制御および認可」を参照してください。

    • auth_required: スコープ・アクセス制御に加えて、データ・セットにデータベース・レベルの認可が必要かどうかを指定するブール値。これをTRUEに設定すると、データ・セットによって追加の認可ステップが強制されます。詳細は、「認可が必要なデータ・セットの登録」を参照してください。

    • data_set_owner: テキスト値は、データ・セットの責任者またはデータ・セットに関する質問の担当者に関する情報を指定します。たとえば、データ・セット所有者のEメール・アドレスを指定できます。

    • offload_targets: データ・セットへのアクセスがオフロードされるリフレッシュ可能クローンのAutonomous Database OCIDsを、データ・セットが登録されているAutonomous Databaseから1つ以上指定します。

      データ・セット・コンシューマごとに、次のいずれかが一致して、リクエストをリフレッシュ可能クローンにオフロードできます。

      • 指定されたcloud_link_database_idの値、つまり値がコンシューマのデータベースIDと一致する場合、アクセスは、offload_targetで指定されたOCIDで識別されるリフレッシュ可能クローンにオフロードされます。

      • ANYキーワードが指定されている場合、指定されたcloud_link_database_idの値と一致しない場合、アクセスは、対応するoffload_targetで指定されたOCIDによって、ANYエントリで識別されるリフレッシュ可能クローンにオフロードされます。

    ノート

    データ・パブリッシャがエラスティック・プール・リーダーまたはエラスティック・プール・メンバーである場合、offload_targetsを使用してオフロード・ターゲットの詳細を構成するかわりに、統合問合せオフロード機能を使用できます。この場合、パブリッシャは、ProxySQL問合せオフロードによって、ターゲットを構成しなくても、任意の数のリフレッシュ可能クローンに問合せ(読取り)をオフロードできます。詳細は、クラウド・リンクでの統合問合せオフロードの使用を参照してください。

    詳細は、次を参照してください:

データ・セット登録属性の更新

データ・セットを登録した後、一部のデータ・セット属性を更新できます。スキーマ名、スキーマ・オブジェクト、ネームスペースまたは名前の属性は更新できません。

データ・セット属性を更新するには:

  1. データ・セットを登録したユーザーは、その属性をDBMS_CLOUD_LINK.UPDATE_REGISTRATIONで更新できます。

    データ・セット属性を更新する権限がない場合は、ADMINユーザーから権限付与登録権限を取得する必要があります。

    詳細は、データベース・ユーザーに対するクラウド・リンク・アクセス権の付与を参照してください。

  2. データ・セットの1つ以上の属性を更新します。

    たとえば、DBMS_CLOUD_LINK.UPDATE_REGISTRATIONを使用して、ネームスペースREGIONAL_SALESのデータ・セットのdescriptionscopeおよびauth_required属性をSALES_AGGという名前で更新します。

    BEGIN
       DBMS_CLOUD_LINK.UPDATE_REGISTRATION(
        namespace      => 'REGIONAL_SALES', 
        name           => 'SALES_AGG',
        description    => 'Updated description for aggregated regional sales information.',
        scope          => 'MY$COMPARTMENT',
        auth_required  =>  TRUE );
    END;
    /

    必須パラメータは次のとおりです。

    • namespace: データ・セットの登録時に指定したデータ・セットのネームスペースです。

    • name: データ・セットの登録時に指定したデータ・セットの名前です。

    オプションのパラメータのリストを次に示します。オプションのパラメータ値に対してNULLが渡された場合、属性は変更されません。

    • description: データを説明するために更新されたテキストを指定します。

    • scope: スコープを指定します。MY$REGIONMY$TENANCYまたはMY$COMPARTMENTのいずれかの変数を使用するか、1つ以上のOCIDsを指定できます。

      詳細は、「データ・セットのスコープ、アクセス制御および認可」を参照してください。

    • auth_required: スコープ・アクセス制御に加えて、データ・セットにデータベース・レベルの認可が必要かどうかを指定するブール値。これをTRUEに設定すると、データ・セットによって追加の認可ステップが強制されます。詳細は、「認可が必要なデータ・セットの登録」を参照してください。

    • data_set_owner: テキスト値は、データ・セットの責任者またはデータ・セットに関する質問の担当者に関する情報を指定します。たとえば、データ・セット所有者のEメール・アドレスを指定できます。

    • offload_targets: データ・セットへのアクセスがオフロードされるリフレッシュ可能クローンのAutonomous Database OCIDsを、データ・セットが登録されているAutonomous Databaseから1つ以上指定します。詳細は、「データ・セット・アクセス用のオフロード・ターゲットへのデータ・セットの登録」を参照してください。

    schema_name属性またはschema_object属性は更新できません。

    詳細は、UPDATE_REGISTRATIONプロシージャを参照してください。

データ・セットが1つ以上のリージョン間リフレッシュ可能クローンに登録されている場合、ソース・データベースでの登録に対する変更はリモート・リージョンに伝播する必要があります。

リージョン間リフレッシュ可能クローンに変更を伝播するには、次のことに注意してください。

  • プロデューサのリージョン(リージョンAなど)にN個のクロスリージョン・リフレッシュ可能クローンがある場合、リージョンAの1つのリフレッシュ可能クローンに対してDBMS_CLOUD_LINK.UPDATE_REGISTRATIONを実行します。

  • 同じプロデューサが異なるリモート・リージョン(リージョンBなど)にMリージョン間リフレッシュ可能クローンがある場合、リージョンBの1つのリフレッシュ可能クローンでDBMS_CLOUD_LINK.UPDATE_REGISTRATIONを実行します。

データ・セットが1つ以上のリージョン間リフレッシュ可能クローンに登録されているときに属性を更新するには:

  1. ソース・データベースで、データ・セット登録を更新します。

  2. リモート・リージョンのリモート・リフレッシュ可能クローン(リモート・リージョンが1つのみの場合)または各リモート・リージョンのリモート・リフレッシュ可能クローン(複数のリージョンにレプリケートされたリフレッシュ可能クローンがある場合)で、offload_targetsパラメータを除いて、ソース・データベースの更新に使用した値と同じ値でデータ・セット登録を更新します。

    特定のリモート・リージョンでは、そのリージョン内の1つのリフレッシュ可能クローンに対してのみDBMS_CLOUD_LINK.UPDATE_REGISTRATIONを実行する必要があります(リージョンに同じデータ・セットに関連付けられた複数のリフレッシュ可能クローンがある場合、個々のリモート・リージョン内のすべてのリフレッシュ可能クローンに変更を伝播するためにプロシージャを1回のみ実行する必要があります)。

  3. リフレッシュ可能クローンをリフレッシュします。

    詳細は、Autonomous Databaseでのリフレッシュ可能クローンのリフレッシュを参照してください。

データ・セットの検索およびクラウド・リンクの使用

クラウド・リンクの読取りアクセス権を付与されたユーザーは、Autonomous Databaseインスタンスで使用可能なデータ・セットを検索し、登録済のデータ・セットにアクセスして問合せで使用できます。

ADMINユーザーがGRANT_READを実行した後、ユーザーはクラウド・リンクを検索して使用できます。

  1. Autonomous Databaseインスタンスで使用可能なデータ・セットを見つけます。

    たとえば、文字列「TREE」を含むすべてのデータ・セットを検索します。

    DECLARE
       result CLOB DEFAULT NULL;
    BEGIN
       DBMS_CLOUD_LINK.FIND('TREE', result);
        DBMS_OUTPUT.PUT_LINE(result);
    END;
    /
    
    [{"name":"TREE_DATA","namespace":"FOREST","description":"Urban tree data including county, species and height"}]

    パラメータは次のとおりです。

    • search_string: 検索する文字列。検索文字列は大文字と小文字が区別されません。

    • search_result: データ・セットのネームスペース、名前および説明の値を含むJSONドキュメント。

    詳細は、FINDプロシージャを参照してください。

    DBMS_CLOUD_LINK.FINDプロシージャは、クラウド・リンクで使用できるFQNを提供します。ここでは、FOREST.TREE_DATAというコマンドを実行します。

  2. ビューDBA_CLOUD_LINK_ACCESSを使用して、使用可能なデータ・セットをリストします。
    SELECT * FROM DBA_CLOUD_LINK_ACCESS;
    
    NAMESPACE            NAME
    ---------            -------------- 
    FOREST               TREE_DATA 
    REGIONAL_SALES       SALES_AGG
    TRUSTED_COMPARTMENT  SALES
  3. プロシージャDBMS_CLOUD_LINK.DESCRIBEを使用して、登録済データ・セットの詳細を確認します。
    SELECT DBMS_CLOUD_LINK.DESCRIBE('FOREST','TREE_DATA') FROM DUAL;
    
    DBMS_CLOUD_LINK.DESCRIBE('FOREST','TREE_DATA')
    ---------------------------------------------------
    Urban tree data including county, species and height
  4. 問合せで登録済のデータ・セットを使用します。
    SELECT * FROM FOREST.TREE_DATA@cloud$link;
    ノート

    データ・セットを表示およびアクセスできるようにするには、データ・セットをDBMS_CLOUD_LINK.REGISTERに登録してから最大10分かかる場合があります。
クラウド・リンクは、プライベート・シノニムとパブリック・シノニムをサポートしています。たとえば、FOREST.TREE_DATA@cloud$linkのシノニムを定義して使用できます。
CREATE SYNONYM S1 for FOREST.TREE_DATA@cloud$link;
CREATE PUBLIC SYNONYM S2 for FOREST.TREE_DATA@cloud$link;

SELECT * FROM S1;

SELECT * FROM S2;

詳細は、CREATE SYNONYMを参照してください。

クラウド・リンク・コンシューマ・オプションの使用

コンシューマ・データベースからデータにアクセスするために使用するサービス名マッピングを設定できます。また、問合せの結果またはクラウド・リンク・データにアクセスする問合せフラグメントに対して、データ・セット・コンシューマへのキャッシュを有効にできます。

クラウド・リンク・コンシューマのデータベース・サービス名マッピングの設定

クラウド・リンク・コンシューマがデータ・セット所有者のデータにアクセスするときに使用するサービス名マッピングを設定できます。

クラウド・リンクは、データ・セット・プロデューサであるAutonomous Databaseインスタンスのデータベース・リソース、またはリフレッシュ可能クローンのリソースを使用して、共有データにアクセスします。デフォルトでは、コンシューマがクラウド・リンク・データにアクセスするためのリモート接続は、MEDIUMデータベース・サービスを使用します。

DBMS_CLOUD_LINK_ADMIN.ADD_SERVICE_MAPPINGを使用して、コンシューマ用のデータベース・サービス・マッピングを設定します。このプロシージャでは、コンシューマ・サービス・マッピングを指定するには、データベースIDまたはキーワードANYを指定します。たとえば、次の図は、コンシューマAとHIGHサービスのマッピング、コンシューマBとMEDIUMサービスのマッピング、コンシューマCとLOWサービスのマッピング、およびANYとTPサービスのマッピングを示しています。これは、他のすべてのコンシューマがTPサービスを使用してクラウド・リンクにアクセスすることを意味します。



データベース・サービスの特性の詳細は、Autonomous Databaseのデータベース・サービス名を参照してください。

次のステップを実行して、クラウド・リンク・コンシューマに使用するデータベース・サービスを設定します。

  1. サービス・マッピングを設定するデータベースのデータベースIDを取得します。

    コンシューマ・データベースでGET_DATABASE_IDを実行して、コンシューマのデータベースIDを取得します。たとえば:

    SELECT DBMS_CLOUD_LINK.GET_DATABASE_ID FROM DUAL:

    詳細は、GET_DATABASE_IDファンクションを参照してください。

  2. データ・セット所有者のAutonomous Databaseインスタンスで、サービス・マッピングを指定します。

    このステップは、データ・セット所有者のAutonomous Databaseインスタンス(つまり、プロデューサ・データベース)で実行します。

    BEGIN
       DBMS_CLOUD_LINK_ADMIN.ADD_SERVICE_MAPPING(
        database_id      => 'database_id', 
        service_name     => 'HIGH');
    END;
    /

    ここで、database_idパラメータ値は、ステップ1で取得したデータベースIDです。

    database_idの値ANYを指定すると、service_namedatabase_idに関連付けられていないすべてのコンシューマ・データベースで、指定したservice_nameが使用されます。つまり、service_nameDBMS_CLOUD_LINK_ADMIN.ADD_SERVICE_MAPPINGで設定されていないdatabase_idです。

    詳細は、ADD_SERVICE_MAPPINGプロシージャを参照してください。

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

  3. クラウド・リンク・サービス・マッピングをリストして、データベースIDおよびサービス・マッピングを確認します。

    たとえば:

    SELECT * FROM  DBA_CLOUD_LINK_SERVICE_MAPPINGS;

    詳細は、DBA_CLOUD_LINK_SERVICE_MAPPINGSビューを参照してください。

サービス・マッピングの設定と変更に関するノート:

  • サービス・マッピングは、接続の確立時に有効になります。特定のコンシューマのサービス・マッピングが変更された場合、新しいマッピングはコンシューマからの新しいセッションに対してのみ有効になります。

  • 特定のコンシューマのデータ・セット所有者で構成されているサービス・マッピングは、コンシューマからのアクセスがリフレッシュ可能クローンにオフロードされている場合でも適用されます。リフレッシュ可能クローンは、データ・セット所有者でサービス・マッピングが構成された時点より後の時点にリフレッシュする必要があります。リフレッシュ可能クローンへのオフロードは、データ・セット登録時に引数offload_targetsを使用して構成されることに注意してください。

    詳細は、「データ・セット・アクセス用のオフロード・ターゲットへのデータ・セットの登録」を参照してください。

  • プロシージャDBMS_CLOUD_LINK_ADMIN.REMOVE_SERVICE_MAPPINGを使用して、指定したdatabase_idのサービス・マッピングを削除します。

    DBMS_CLOUD_LINK_ADMIN.REMOVE_SERVICE_MAPPINGの実行後、コンシューマはデフォルトのMEDIUMデータベース・サービスを使用するか、database_idANYを使用してDBMS_CLOUD_LINK_ADMIN.ADD_SERVICE_MAPPINGを実行する場合に指定したservice_nameを使用します。詳細は、REMOVE_SERVICE_MAPPINGプロシージャを参照してください。

リモート・リージョンのクラウド・リンク・コンシューマに対するデータベース・サービス名マッピングの設定

ソース・リージョンに登録されているデータ・セットは、リモート・リージョンでクロスリージョン・リフレッシュ可能クローンを作成するときに、リモート・リージョンからクラウド・リンクを使用してアクセスできます。

この場合、リモート・リージョンのコンシューマに対するサービス・マッピングは、ソース・データベースおよびリモート・リージョンのリフレッシュ可能クローンで2回追加する必要があります。

次のステップを実行して、リモート・リージョンのクラウド・リンク・コンシューマのサービス・マッピングを設定します。

  1. ソース・データベースのクロスリージョン・リフレッシュ可能クローンを作成します(リフレッシュ可能クローンは、リモート・リージョンのクラウド・リンク・データ・セット所有者のクローンです)。
  2. データ・セットを登録します。

    詳細は、「データ・セットの登録」を参照してください。

  3. データ・セット所有者にサービス・マッピングを追加します。
  4. リフレッシュ可能なクローンのリフレッシュ
  5. リモートの「リフレッシュ可能クローン」で、データ・セットをソース・リージョンに登録するために使用したものと同じ引数を使用して、データ・セットを登録します(つまり、ステップ2で使用したものと同じ引数を使用します)。
  6. リモートのリフレッシュ可能クローンで、ソース・リージョンで使用したものと同じ引数を使用してサービス・マッピングを追加します(つまり、ステップ3で使用したものと同じ引数を使用します)。

リモート・リージョンのコンシューマがクラウド・リンク・データにアクセスすると、そのアクセスでは、ソース・リージョンのデータ・セット所有者データベースで追加したのと同じサービス・マッピングが使用されます。

クラウド・リンク・コンシューマのキャッシュの有効化

問合せの結果またはクラウド・リンク・データにアクセスする問合せフラグメントに対して、データ・セット・コンシューマに対するキャッシュを有効にできます。

データ・セット・コンシューマでキャッシュを有効にするには、RESULT_CACHEヒントをSHELFLIFEオプションとともに使用します。SHELFLIFEオプションでは、問合せ結果がキャッシュされる期間(秒)を示す値を指定します。SHELFLIFE間隔が経過すると、キャッシュされた結果は無効としてマークされます。キャッシュされた結果が有効であるかぎり、問合せはコンシューマ・データベースのキャッシュからキャッシュされたデータを取得します。これにより、データ・セット所有者のデータベースへのラウンドトリップを回避できます。

データ・セットが静的であるか、コンシューマが失効した結果を許容できる場合は、RESULT_CACHEヒントをSHELFLIFEオプションとともに使用します。SHELFLIFEの値を使用すると、クラウド・リンクのデータ・セット・コンシューマは、キャッシュ内のデータが有効な時間(許容可能な失効度)を秒単位で制御できます。

問合せ結果が大きく、メモリーに収まらない場合は、RESULT_CACHEヒントをSHELFLIFEオプションおよびTEMPオプションとともに使用して、結果を一時表領域のディスクに書き込む必要があることを示します。

RESULT_CACHEヒントを使用してクラウド・リンク・データをキャッシュするには:

  1. 問合せで、RESULT_CACHEヒントをSHELFLIFEオプションとともに指定します。

    たとえば:

    SELECT /*+ RESULT_CACHE (SHELFLIFE=120) */ * FROM FOREST.TREE_DATA@cloud$link;

    このRESULT_CACHEは、SHELFLIFE値120を指定します。これは、結果が120秒間メモリーにキャッシュされることを示します。120秒後に、キャッシュされた結果は無効としてマークされます。

    SHELFLIFE値は正の整数である必要があります。最大SHELFLIFEの値は4294967295です。

  2. 問合せ結果が大きく、メモリーに収まらない場合は、SHELFLIFEオプションとTEMPオプションを両方使用して、結果をディスクの一時表領域に書き込む必要があることを示します。
    SELECT /*+ RESULT_CACHE (TEMP=true SHELFLIFE=360) */ * FROM FOREST.TREE_DATA@cloud$link;

Autonomous Databaseでの結果キャッシュの使用の詳細は、RESULT_CACHE_MODEを参照してください。

SHELFLIFEを使用したRESULT_CACHEの詳細は、RESULT_CACHEヒントを参照してください。

結果キャッシュを管理し、結果キャッシュ内のオブジェクトを無効化するプロシージャの詳細は、DBMS_RESULT_CACHEを参照してください。

クラウド・リンク情報のモニターおよび表示

Autonomous Databaseには、クラウド・リンクをモニターおよび監査できるビューが用意されています。

表示 摘要
V$CLOUD_LINK_ACCESS_STATSビューおよびGV$CLOUD_LINK_ACCESS_STATSビュー

Autonomous Databaseインスタンスに登録されている各データ・セットへのアクセスを追跡する場合に使用します。これらのビューでは、経過時間、CPU時間、取得された行数および登録済データ・セットに関する追加情報が追跡されます。これらのビューの情報を使用して、クラウド・リンク・データ・セットのアクセスおよび使用状況を監査できます。

DBA_CLOUD_LINK_REGISTRATIONSビューおよびALL_CLOUD_LINK_REGISTRATIONSビュー

Autonomous Databaseインスタンスに登録されたデータ・セットの詳細をリストする場合に使用します。

DBA_CLOUD_LINK_ACCESSビューおよびALL_CLOUD_LINK_ACCESSビュー

データベースがアクセスを許可されている登録済データ・セットの詳細を取得する場合に使用します。

DBA_CLOUD_LINK_AUTHORIZATIONSビュー

どのデータベースに対してどのデータ・セットへのアクセスが認可されているかに関する情報を提供します。これは、auth_requiredパラメータがTRUEのデータ・セットに適用されます。

DBA_CLOUD_LINK_PRIVSビューおよびUSER_CLOUD_LINK_PRIVSビュー

すべてのユーザーまたは現在のユーザーに付与されるクラウド・リンク固有の権限(REGISTERREADまたはAUTHORIZE)に関する情報を提供します。

DBA_CLOUD_LINK_SERVICE_MAPPINGSビュー

クラウド・リンク・コンシューマ・データベースのすべてのサービス・マッピングの詳細を表示します。各サービス・マッピングは、クラウド・リンク・データベースIDとデータベース・サービスで構成されます。

登録済データ・セットを保護するための仮想プライベート・データベース・ポリシーの定義

登録済データ・セットの仮想プライベート・データベース(VPD)ポリシーを定義することで、特定のリモート・サイトでデータ(行)のサブセットのみが表示されるように、ファイングレイン・クラウド・リンク・アクセス制御を提供できます。

Oracle Virtual Private Database (VPD)は、同じデータ・セットにフィルタを適用することで、ユーザーおよびアプリケーションの行レベルでデータ・アクセスを動的に制御できるセキュリティ機能です。

クラウド・リンクの読取りアクセス権を付与されたユーザーは、登録済データ・セットにアクセスし、そのデータ・セットが登録時に指定されたスコープ内にあり、データ・セットに追加の認可必須パラメータが設定されている場合、そのアクセスは認可済データベースからのアクセスです。各リモート・アクセスは、(データ・セットが登録されたデータベースで)登録されたデータ・セットにアクセスするリモートAutonomous Databaseインスタンスのコンテキストで実行されます。

リモート・システムで関数DBMS_CLOUD_LINK.GET_DATABASE_IDを使用して、データベースの一意のIDを取得します。データ・セットを登録したデータベースでVPDポリシーを定義することで、リモート・データベースの識別子をSYS_CONTEXTルールとして使用して、より詳細な制御を提供できるようになりました。登録したデータ・セットにアクセスするリモート・データベースのルールを定義し、クラウド・リンク・スコープを指定することで、可能な範囲を超えてアクセスを制限できます。

REGIONAL_SALES.SALES_AGGをテナンシ・レベルで使用可能にする例を考えてみます。1つの特定のデータベースを除くすべてのデータベースへのアクセスを制限し、指定されたデータベースへのフル・アクセスのみを許可する場合は、登録されたデータ・セットにVPDポリシーを追加できます。

たとえば:

  1. フル・アクセスを提供するAutonomous Databaseインスタンスの一意のクラウド・リンク・データベースIDを取得します。
    DECLARE
         DB_ID NUMBER;
     BEGIN
         DB_ID := DBMS_CLOUD_LINK.GET_DATABASE_ID;
         DBMS_OUTPUT.PUT_LINE('Database ID:' || DB_ID);
     END;
     /
  2. ステップ1で該当するデータベースに識別子を取得した特定のデータベースへのフル・アクセスのみを許可して、データ・セットを登録したデータベースにVPDポリシーを作成します。
    CREATE OR REPLACE FUNCTION vpd_policy_sales(
         owner IN VARCHAR2, 
         object IN VARCHAR2)
         RETURN VARCHAR2 IS
    BEGIN
      IF SYS_CONTEXT('USERENV', 'CLOUD_LINK_DATABASE_ID')  <> '12121212163948244901' THEN
        RETURN 'time_id >= trunc(sysdate,''year'')';  
      ELSE
        RETURN '';
      END IF;
    END;
    /

    詳細は、DBMS_RLSを参照してください。

  3. 登録したデータ・セットのVPDポリシーを登録して、ステップ1で識別したデータベースのみへのフル・アクセスを制限します。
    
    BEGIN
      DBMS_RLS.ADD_POLICY(object_schema => 'CLOUDLINK',
                object_name => 'SALES_VIEW_AGG',
                policy_name => 'THIS_YEAR',
                function_schema => 'ADMIN',
                policy_function => 'VPD_POLICY_SALES',
                statement_types => 'SELECT',
                policy_type => DBMS_RLS.SHARED_CONTEXT_SENSITIVE);
    END;
    /

    詳細は、DBMS_RLSを参照してください。

クラウド・リンクに関するノート

クラウド・リンクを使用するためのノートおよび制限について説明します。

  • 登録できるデータ・セットの数には4096という制限があります。

    各Autonomous Databaseインスタンスは、4096個のデータ・セットしか登録できません。この制限は、ECPUの数(データベースがOCPUを使用する場合はOCPU)やインスタンスのストレージ・サイズに関係なく、すべてのAutonomous Databaseインスタンスに適用されます。制限は固定値であり、ECPU数を大きい値に設定すると、より多くのデータ・セットを登録できません。

  • オブジェクトに対するREAD WITH GRANT OPTION権限がある場合は、そのオブジェクトを別のスキーマに登録できます。

  • データ・セットを登録したり、リモート・データ・セットを表示およびアクセスするには、データ・セットの登録または読取りを行うための適切な権限が付与されている必要があります。これはADMINにも当てはまりますが、ADMINはこの権限を自分に付与できます。

  • DBMS_CLOUD_LINK.REGISTERまたはDBMS_CLOUD_LINK.UPDATE_REGISTRATIONを使用するには、DBMS_CLOUD_LINK_ADMIN.GRANT_REGISTERで割り当てられたレジスタ権限に加えて、DBMS_CLOUD_LINKパッケージに対する実行権限が必要です。デフォルトでは、ADMINユーザーおよびPDB_DBAを持つスキーマのみがこの権限を持ちます。

  • 登録された表を削除して再作成する場合は、リモート・アクセスのために表を再登録する必要があります。

  • ADMINユーザーおよびロールPDB_DBAを持つユーザーのみが、次のビューにアクセスする権限を持ちます。

    • DBA_CLOUD_LINK_ACCESS

    • DBA_CLOUD_LINK_REGISTRATIONS

    • DBA_CLOUD_LINK_AUTHORIZATIONS

    • DBA_CLOUD_LINK_PRIVS

    詳細は、DBMS_CLOUD_LINKビューを参照してください。

  • 登録されているリモート・データにアクセスするには、リモート・データベースをオープンする必要があります。リモート・データベースがクローズまたは制限モードの場合、データにアクセスできず、Oracleエラーが返されます。

  • セッション当たり最大4つのオープン・データベース・リンクの制限があります。この制限を超えると、ORA-02020またはORA-12545が発生する可能性があります。

  • データ・ウェアハウス・ワークロードを使用するAutonomous Databaseでのデフォルトの動作と同様に、結果キャッシュが有効になっている場合は、リアルタイム・データが必要なときに結果キャッシュが使用されないようにする必要があります。

  • ライセンス・タイプを「無料」から「有料」に更新する場合、クラウド・リンク・データ・セットを再登録する必要があります。詳細は、「Autonomous DatabaseでのAlways Freeインスタンスの有料への更新」を参照してください。

  • クラウド・リンクのリモート接続では、デフォルトでMEDIUMデータベース・サービスが使用されます。DBMS_CLOUD_LINK_ADMIN.ADD_SERVICE_MAPPINGでデフォルトを変更するには、DATABASE_IDの値としてANYを使用します。DBMS_CLOUD_LINK_ADMIN.ADD_SERVICE_MAPPINGを使用してコンシューマのデータベース・サービスを変更するには、コンシューマのDATABASE_IDを指定します。詳細は、クラウド・リンク・コンシューマ用のデータベース・サービス名マッピングの設定を参照してください。

    リモート接続の詳細は、V$SESSIONでユーザーC##DATA$SHAREとして、クラウド・リンク・ビューV$CLOUD_LINK_ACCESS_STATSおよびGV$CLOUD_LINK_ACCESS_STATSビューを参照してください。

  • 特に明記されていないかぎり、すべてのインタフェースで大文字と小文字が区別されます。次に例を示します。

    • ユーザー名や表名など、データベースに存在する入力内容は、大/小文字が区別され、大文字で入力する必要があります。
    • たとえば、事前定義済のスコープ値など、事前定義済の変数は大文字で入力する必要があります。
    • クラウド・リンクの設定に指定したもの(ネームスペースやネームスペース内の表の名前など)は、入力時に指定する必要があります。たとえば、ネームスペースをtreesとして定義する場合、SQLを使用してネームスペースにアクセスするときに、ネームスペースを二重引用符("trees")で囲む必要があります。
  • データ・セットが読取り専用モードのAutonomous Databaseインスタンスにある場合は、クラウド・リンクを共有できます。詳細は、読取り専用Autonomous Databaseインスタンスからのクラウド・リンクの使用を参照してください。

  • リフレッシュ可能クローンのリフレッシュ可能クローンをオフロード・ターゲットとして表示してから最大10分かかる場合があります。つまり、リフレッシュ可能クローンをクラウド・リンク・オフロード登録で使用できるようにするには、リフレッシュ可能クローンを作成してから最大10分待機する必要がある場合があります。

    詳細は、データ・セット・アクセス用のオフロード・ターゲットへのデータ・セットの登録およびAutonomous Databaseインスタンスのリフレッシュ可能クローンの作成を参照してください。

読取り専用Autonomous Databaseインスタンスからのクラウド・リンクの使用

データ・セットが読取り専用Autonomous Databaseインスタンスに存在する場合、クラウド・リンクを共有できます。

読取り専用モードのAutonomous Databaseインスタンスからクラウド・リンクを共有するには:
  1. データベース・モードを「読取り/書込み」モードに変更します。
  2. 読取り/書込みモードのデータベースで、データ・セットを登録するステップを実行します。
    1. データベース・ユーザーのクラウド・リンク・アクセス権の付与
    2. データ・セットの登録または登録解除
  3. 1つ以上のデータ・セットを登録した後、データベースを読取り専用モードに変更します。