機械翻訳について

DBMS_CLOUD_LINKパッケージ

DBMS_CLOUD_LINKパッケージを使用すると、ユーザーは表またはビューを、クラウド・リンクへの読取り専用アクセス用のデータ・セットとして登録できます。

DBMS_CLOUD_LINK概要

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

DBMS_CLOUD_LINKパッケージには、表またはビューをクラウド・リンクで使用するデータ・セットとして登録できるREGISTERプロシージャが用意されています。 データ・セットを登録する前に、ADMINユーザーは、DBMS_CLOUD_LINK_ADMIN.GRANT_REGISTERプロシージャを使用してデータ・セットを登録する権限をユーザーに付与する必要があります。 ADMINがGRANT_REGISTERを実行した後、ユーザーは、表または所有するビューを登録済のデータ・セットとして登録できます(ユーザーがオブジェクトに対するREAD WITH GRANT OPTION権限を持っている場合は、別のスキーマにオブジェクトを登録できます)。 登録済データ・セットは、REGISTERプロシージャで指定されたスコープに従って、クラウド・リンクに登録済オブジェクトへのリモート・アクセスを提供します。

DBMS_CLOUD_LINK.REGISTERDBMS_CLOUD_LINK.UPDATE_REGISTRATIONまたはDBMS_CLOUD_LINK.UNREGISTERを実行するには、以前にDBMS_CLOUD_LINK_ADMIN.GRANT_REGISTERを実行したことに加えて、DBMS_CLOUD_LINKパッケージに対する実行権限が必要です。 デフォルトでは、ADMINユーザーおよびPDB_DBAロールを持つスキーマのみが、DBMS_CLOUD_LINKに対する実行権限を持ちます。

DBMS_CLOUD_LINKサブプログラムのサマリー

DBMS_CLOUD_LINKパッケージに含まれるサブプログラムのサマリーを含む表を示します。

サブプログラム 説明

DESCRIBE関数

このファンクションは、データ・セットの説明を取得します。 説明は、データ・セットがDBMS_CLOUD_LINK.REGISTERに登録されたときに表示されます。

FINDプロシージャ

検索文字列に一致するデータ・セットのネームスペース、名前および説明を取得します。 一致するデータ・セットは、アクセス制限に基づいてユーザーがアクセスできる場合にのみ表示されます。

GET_DATABASE_IDファンクション

Autonomous Databaseインスタンスの一意の識別子を返します。 同じインスタンスでDBMS_CLOUD_LINK.GET_DATABASE_IDを繰り返し呼び出すと、常に同じ値が返されます。

GRANT_AUTHORIZATIONプロシージャ

指定されたデータセットにアクセスするための許可を指定されたデータベースに付与します。

REGISTERプロシージャ

表またはビューをデータ・セットとして登録します。

REVOKE_AUTHORIZATIONプロシージャ

指定されたデータセットにアクセスするための指定されたデータベースの承認を取り消します。

UNREGISTERプロシージャ

登録されているデータセットを削除します。

UPDATE_REGISTRATIONプロシージャ

DBMS_CLOUD_LINK.REGISTERを使用して登録されているデータ・セットの属性を更新します。

DESCRIBEファンクション

このファンクションは、データ・セットの説明を取得します。 説明は、データ・セットがDBMS_CLOUD_LINK.REGISTERに登録されたときに表示されます。

構文

DBMS_CLOUD_LINK.DESCRIBE(
      namespace        IN   VARCHAR2,
      name             IN   VARCHAR2
) return CLOB;

パラメータ

パラメータ 説明

namespace

登録されたデータセットの名前空間を指定します。

name

登録されたデータセットの名前を指定します。

使用上のノート

この関数は、DBMS_CLOUD_LINK.REGISTERに登録時に課せられたアクセス制限の対象として使用できます。 データベースからデータ・セットにアクセスできない場合、その説明は取得されません。

FINDプロシージャ

このプロシージャは、検索文字列に一致するデータ・セットのネームスペース、名前および説明を取得します。 一致するデータ・セットは、アクセス制限に基づいてユーザーがアクセスできる場合にのみ表示されます。

構文

DBMS_CLOUD_LINK.FIND(
      search_string        IN   VARCHAR2,
      search_result        OUT   CLOB
);

パラメータ

パラメータ 説明

search_string

検索文字列を指定します。 検索文字列では大文字と小文字は区別されません。

search_result

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

使用上のノート

検索文字列では大文字と小文字は区別されず、パッケージではOracle Textを使用したフリー・テキスト検索が利用されます。

GET_DATABASE_IDファンクション

この関数は、Autonomous Databaseインスタンスの一意の識別子を返します。 同じインスタンスでDBMS_CLOUD_LINK.GET_DATABASE_IDを繰り返し呼び出すと、常に同じ値が返されます。

リモートで登録されたデータ・セットにアクセスしているデータベースでこの関数をコールして、データベースIDを取得できます。 これにより、データベースiDを提供できるため、データセットの所有者は、たとえばVPDなど、リモート・サイトからの指定されたデータベースIDに基づいて、よりきめ細かいデータ・アクセス制御を利用できます。

データベースIDは、登録済データ・セットにアクセスする各リモート・データベースを識別し、登録済データ・セットを所有するデータベースの「V$CLOUD_LINK_ACCESS_STATSおよびGV$CLOUD_LINK_ACCESS_STATSビュー」内のアクセスを追跡および監査します。

構文

DBMS_CLOUD_LINK.GET_DATABASE_ID()
  RETURN VARCHAR2;

使用上のノート

クラウド・リンクは、DBMS_CLOUD_LINK.GET_DATABASE_IDが戻す一意の識別子を使用して、リモートでデータ・セットにアクセスしている個々のデータベースを識別します。 登録済データ・セットを所有するデータベースは、「V$CLOUD_LINK_ACCESS_STATSおよびGV$CLOUD_LINK_ACCESS_STATSビュー」のデータ・セット・アクセスの起点のレコードとしてデータベースIDを追跡および監査します。

DBMS_CLOUD_LINK.GET_DATABASE_ID識別子はSYS_CONTEXT値として使用できるため、SYS_CONTEXTを使用して接続しているリモート・セッションに関するこの情報をプログラムで取得し、仮想プライベート・データベース(VPD)を持つ個々のAutonomous Databaseインスタンスによってリモートでアクセスできる特定のデータをさらに制限および制御できます。

戻り値

VARCHAR2Autonomous Databaseインスタンスの一意の識別子。

GRANT_AUTHORIZATIONプロシージャ

このプロシージャは、指定したデータ・セットにアクセスするための許可を指定されたデータベースに付与します。

構文

DBMS_CLOUD_LINK.GRANT_AUTHORIZATION(
      database_id        IN   VARCHAR2,
      namespace          IN   VARCHAR2 DEFAULT,
      name               IN   VARCHAR2
);

パラメータ

パラメータ 説明

database_id

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

namespace

指定されたdatabase_idに対するアクセス許可を付与するデータ・セット・ネームスペースを指定します。

name

指定されたdatabase_idに対するアクセス許可を付与するデータセット名を指定します。

REGISTERプロシージャ

このプロシージャは、表またはビューをデータ・セットとして登録し、scopeパラメータによる制限に従ってリモートの読取り専用アクセスを許可します。

構文

DBMS_CLOUD_LINK.REGISTER(
     schema_name      IN VARCHAR2,
     schema_object    IN VARCHAR2,
     namespace        IN VARCHAR2,
     name             IN VARCHAR2,
     description      IN CLOB,
     scope            IN CLOB,
     auth_required    IN BOOLEAN DEFAULT,
     data_set_owner   IN VARCHAR2 DEFAULT,
     offload_targets  IN CLOB DEFAULT

);

パラメータ

パラメータ 説明

schema_name

schema_objectパラメータで指定された表またはビューの所有者を指定します。

schema_object

表またはビューの名前を指定します。 有効なオブジェクトは次のとおりです:

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

分析ビューやシノニムなどの他のオブジェクトはサポートされていません。

namespace

データセットのネームスペースを指定します。

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

name

データ・セットの名前を指定します。

description

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

scope

データ・セットへのアクセスを許可されるユーザーを示します。 値は、次の1つ以上で構成されるコンマ区切りのリストです:

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

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

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

  • リージョン名: データ・セットへのアクセスは、指定したリージョンで識別されるリージョン内のデータベースに対して許可されます。 スコープによって、クラウド・リンク・アクセスは1つのリージョン内に制限され、クロス・リージョンではありません。 異なるリージョンのコンシューマは、データ・セット所有者であるデータベースのクロス・リージョン・リフレッシュ可能クローンがコンシューマ・データベースのリージョンに存在する場合にのみ、データ・セットにアクセスできます。

    詳細については、「別のリージョンでのデータ・セットの登録または登録解除」を参照してください。

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

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

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

  • リージョンのリスト: データ・セットへのアクセスは、指定したリージョンのデータベースに対して許可されます

    たとえば:

    scope   =>  'us-phoenix-1,us-ashburn-1',

    異なるリージョンのコンシューマは、データ・セット所有者であるデータベースのクロス・リージョン・リフレッシュ可能クローンがコンシューマ・データベースのリージョンに存在する場合にのみ、データ・セットにアクセスできます。

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

auth_required

データベースがデータセットから読み取るために追加の承認が必要であることを指定します。 考えられるケースは次のとおりです。

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

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

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

data_set_owner

データ・セット所有者を指定します。 これは、データ・セットが属するユーザー、またはデータ・セットの更新および保守を担当するユーザーを示します。 たとえば、データ・セットを登録したユーザーの電子メール・アドレスにdata_set_ownerを設定できます。

offload_targets

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

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です。

たとえば、次の例は、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に明示的なエントリがあるリクエストを除く)。

たとえば、1つの明示的なOFFLOAD_TARGET/CLOUD_LINK_DATABASE_ID値ペアと1つのANYエントリを持つ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"
    }
  ]
}

OFFLOAD_TARGET値として指定されたOCIDが同じリージョン内のリフレッシュ可能クローンのOCIDでない場合、DBMS_CLOUD_LINK.REGISTERはエラーを報告します。

リフレッシュ可能クローンの使用の詳細は、「リフレッシュ可能クローンをAutonomous Databaseとともに使用」を参照してください。

使用上のノート

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

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

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

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

  • データ・セットを登録するときに設定するスコープは、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
  • 登録時に特定の階層妥当性チェックは実行できません。 無効な登録は、表示、検出可能またはだれでもアクセスできなくなります。

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

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

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

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

REVOKE_AUTHORIZATIONプロシージャ

このプロシージャは、指定したデータベースに対して、指定したデータ・セットにアクセスするための認可を取り消します。

構文

DBMS_CLOUD_LINK.REVOKE_AUTHORIZATION(
      database_id        IN   VARCHAR2,
      namespace          IN   VARCHAR2 DEFAULT,
      name               IN   VARCHAR2
);

パラメータ

パラメータ 説明

database_id

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

namespace

指定されたdatabase_idのアクセス認可を取り消すデータ・セット・ネームスペースを指定します。

name

指定されたdatabase_idのアクセス認可を取り消すデータセット名を指定します。

UNREGISTERプロシージャ

このプロシージャを使用すると、以前にREGISTERプロシージャを使用して表またはビューを登録したユーザーが、リモート・アクセスに使用できないように表またはビューを登録解除できます。

構文

DBMS_CLOUD_LINK.UNREGISTER(
      namespace        IN   VARCHAR2,
      name             IN   VARCHAR2
);

パラメータ

パラメータ 説明

namespace

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

name

データ・セットの名前を指定します。

使用上のノート

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

UPDATE_REGISTRATIONプロシージャ

プロシージャは、DBMS_CLOUD_LINK.REGISTERを使用して登録されたデータ・セットの1つ以上の属性を更新します。

構文

DBMS_CLOUD_LINK.UPDATE_REGISTRATION(
     namespace        IN VARCHAR2,
     name             IN VARCHAR2,
     description      IN CLOB      DEFAULT,
     scope            IN CLOB      DEFAULT,
     auth_required    IN BOOLEAN   DEFAULT,
     data_set_owner   IN VARCHAR2  DEFAULT,
     offload_targets  IN CLOB      DEFAULT

);

パラメータ

パラメータ 説明
namespace

更新するデータセットのネームスペースを指定します。

name

更新するデータ・セットの名前を指定します。

description

データを説明する更新済テキストを指定します。

このパラメータ値に対してNULLが渡された場合、属性は変更されません。

デフォルトでは、この属性は更新されません。

scope

指定した値でスコープを更新します。 スコープは、データ・セットへのアクセスを許可されるユーザーを示します。 値は、次の1つ以上で構成されるコンマ区切りのリストです:

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

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

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

  • リージョン名: データ・セットへのアクセスは、指定したリージョンで識別されるリージョン内のデータベースに対して許可されます。 スコープによって、クラウド・リンク・アクセスは1つのリージョン内に制限され、クロス・リージョンではありません。 異なるリージョンのコンシューマは、データ・セット所有者であるデータベースのクロス・リージョン・リフレッシュ可能クローンがコンシューマ・データベースのリージョンに存在する場合にのみ、データ・セットにアクセスできます。

    詳細については、「別のリージョンでのデータ・セットの登録または登録解除」を参照してください。

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

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

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

  • リージョンのリスト: データ・セットへのアクセスは、指定したリージョンのデータベースに対して許可されます

    たとえば:

    scope   =>  'us-phoenix-1,us-ashburn-1',

    異なるリージョンのコンシューマは、データ・セット所有者であるデータベースのクロス・リージョン・リフレッシュ可能クローンがコンシューマ・データベースのリージョンに存在する場合にのみ、データ・セットにアクセスできます。

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

このパラメータ値に対してNULLが渡された場合、属性は変更されません。

デフォルトでは、この属性は更新されません。

auth_required

データベースがデータセットから読み取るために追加の承認が必要であることを指定します。 考えられるケースは次のとおりです。

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

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

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

このパラメータ値に対してNULLが渡された場合、属性は変更されません。

デフォルトでは、この属性は更新されません。

data_set_owner

データ・セット所有者を指定します。 これは、データ・セットが属するユーザー、またはデータ・セットの更新および保守を担当するユーザーを示します。 たとえば、データ・セットを登録したユーザーの電子メール・アドレスにdata_set_ownerを設定できます。

このパラメータ値に対してNULLが渡された場合、属性は変更されません。

デフォルトでは、この属性は更新されません。

offload_targets

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

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です。

たとえば、次の例は、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に明示的なエントリがあるリクエストを除く)。

たとえば、1つの明示的なOFFLOAD_TARGET/CLOUD_LINK_DATABASE_ID値ペアと1つのANYエントリを持つ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"
    }
  ]
}

OFFLOAD_TARGET値として指定されたOCIDが同じリージョン内のリフレッシュ可能クローンのOCIDでない場合、DBMS_CLOUD_LINK.REGISTERはエラーを報告します。

リフレッシュ可能クローンの使用の詳細は、「リフレッシュ可能クローンをAutonomous Databaseとともに使用」を参照してください。

このパラメータ値に対してNULLが渡された場合、属性は変更されません。

デフォルトでは、この属性は更新されません。

使用上のノート

  • データ・セットのschema_nameおよびschema_object属性は更新できません。

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

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

  • データ・セットの登録を更新するときに設定するスコープは、DBMS_CLOUD_LINK_ADMIN.GRANT_REGISTERで設定した値よりも一致する場合、または制限が大きい場合にのみ適用されます。 たとえば、ADMINがGRANT_REGISTERでスコープ'MY$TENANCY'を付与し、ユーザーがDBMS_CLOUD_LINK.UPDATE_REGISTRATIONでデータ・セットの登録を更新するときに'MY$REGION'を指定したとします。 この場合、次のようなエラーが表示されます:

    ORA-20001: Share privileges are not enabled for current user or it is enabled but not for scope MY$REGION
  • 更新された登録の階層妥当性チェックは、登録の更新時に実行できません。 無効な登録は、表示、検出可能またはだれでもアクセスできなくなります。

  • データ・セットを登録したユーザーは、その属性をDBMS_CLOUD_LINK.UPDATE_REGISTRATIONで更新できます。 また、DBMS_CLOUD_LINKパッケージに対する実行権限と、DBMS_CLOUD_LINK_ADMIN.GRANT_REGISTERで割り当てられた登録権限も必要です。 デフォルトでは、ADMINユーザーおよびPDB_DBAを持つスキーマのみがこの権限を持ちます。

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

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

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