DBMS_CLOUD_LINKパッケージ
DBMS_CLOUD_LINK
パッケージを使用すると、ユーザーは、クラウド・リンクへの読取り専用アクセス用のデータ・セットとして表またはビューを登録できます。
- DBMS_CLOUD_LINKの概要
DBMS_CLOUD_LINK
パッケージの使用について説明します。 - 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.REGISTER
を実行するには、以前にDBMS_CLOUD_LINK_ADMIN.GRANT_REGISTER
を実行したことに加えて、DBMS_CLOUD_LINK.REGISTER
に対する実行権限が必要です。ADMINユーザーおよびPDB_DBA
ロールを持つスキーマのみが、デフォルトでDBMS_CLOUD_LINK.REGISTER
に対する実行権限を持ちます。
親トピック: DBMS_CLOUD_LINKパッケージ化
DBMS_CLOUD_LINKサブプログラムの概要
DBMS_CLOUD_LINK
パッケージに含まれるサブプログラムのサマリーを含む表を示します。
サブプログラム | 説明 |
---|---|
この関数は、データ・セットの説明を取得します。この説明は、データ・セットが |
|
検索文字列に一致するデータ・セットのネームスペース、名前および説明を取得します。一致するデータセットは、アクセス制限に基づいてユーザーがアクセスできる場合にのみ表示されます。 |
|
Autonomous Databaseインスタンスの一意の識別子を返します。同じインスタンスで |
|
指定されたデータ・セットにアクセスするための認可を指定されたデータベースに付与します。 |
|
表またはビューをデータ・セットとして登録します。 |
|
指定されたデータベースに対する認可を取り消して、指定されたデータ・セットにアクセスします。 |
|
登録されたデータ・セットを削除します。 |
- DESCRIBEファンクション
このファンクションは、データ・セットの説明を取得します。この説明は、データ・セットがDBMS_CLOUD_LINK.REGISTER
に登録されるときに提供されます。 - FINDプロシージャ
このプロシージャは、検索文字列に一致するデータ・セットのネームスペース、名前および説明を取得します。一致するデータセットは、アクセス制限に基づいてユーザーがアクセスできる場合にのみ表示されます。 - GET_DATABASE_IDファンクション
このファンクションは、Autonomous Databaseインスタンスの一意の識別子を返します。同じインスタンスでDBMS_CLOUD_LINK.GET_DATABASE_ID
を繰り返しコールすると、常に同じ値が返されます。 - GRANT_AUTHORIZATIONプロシージャ
このプロシージャは、指定されたデータ・セットにアクセスするための認可を指定されたデータベースに付与します。 - REGISTERプロシージャ
プロシージャは、scope
パラメータによって課される制限に従って、表またはビューをデータ・セットとして登録し、リモートの読取り専用アクセスを許可します。 - REVOKE_AUTHORIZATIONプロシージャ
このプロシージャは、指定されたデータベースに対する認可を取り消して、指定されたデータ・セットにアクセスします。 - UNREGISTERプロシージャ
このプロシージャを使用すると、表またはビューをREGISTER
プロシージャで以前に登録したユーザーは、表またはビューを登録解除して、リモート・アクセスに使用できなくなることができます。
親トピック: DBMS_CLOUD_LINKパッケージ化
DESCRIBEファンクション
DBMS_CLOUD_LINK.REGISTER
に登録されるときに提供されます。
構文
DBMS_CLOUD_LINK.DESCRIBE
(
namespace IN VARCHAR2,
name IN VARCHAR2
) return CLOB;
パラメータ
パラメータ | 説明 |
---|---|
|
登録済データ・セットのネームスペースを指定します。 |
|
登録済データ・セットの名前を指定します。 |
使用上のノート
DBMS_CLOUD_LINK.REGISTER
への登録時に課されるアクセス制限に従って、この関数を使用できます。データ・セットにデータベースにアクセスできない場合、その説明は取得されません。
親トピック: DBMS_CLOUD_LINKサブプログラムの要約
FINDプロシージャ
構文
DBMS_CLOUD_LINK.FIND
(
search_string IN VARCHAR2,
search_result OUT CLOB
);
パラメータ
パラメータ | 説明 |
---|---|
|
検索文字列を指定します。検索文字列の大文字と小文字は区別されません。 |
|
データ・セットのネームスペース、名前および説明の値を含むJSONドキュメント。 |
使用上のノート
検索文字列の大/小文字は区別されず、パッケージはOracle Textを使用したフリー・テキスト検索を利用します。
親トピック: DBMS_CLOUD_LINKサブプログラムの要約
GET_DATABASE_IDファンクション
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インスタンスによってリモートでアクセスできる特定のデータをさらに制限および制御できます。
戻り値
VARCHAR2
のAutonomous Databaseインスタンスの一意の識別子。
親トピック: DBMS_CLOUD_LINKサブプログラムの要約
GRANT_AUTHORIZATIONプロシージャ
構文
DBMS_CLOUD_LINK.GRANT_AUTHORIZATION
(
database_id IN VARCHAR2,
namespace IN VARCHAR2 DEFAULT,
name IN VARCHAR2
);
パラメータ
パラメータ | 説明 |
---|---|
|
Autonomous DatabaseインスタンスのデータベースIDを指定します。 |
|
指定された |
|
指定された |
親トピック: DBMS_CLOUD_LINKサブプログラムの要約
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_object |
表またはビューの名前を指定します。有効なオブジェクトは次のとおりです。
分析ビューやシノニムなどの他のオブジェクトはサポートされていません。 |
namespace |
データセットのネームスペースを指定します。
|
name |
データ・セットの名前を指定します。 |
description |
データを説明するテキストを指定します。 |
scope |
データ・セットへのアクセスを許可されるユーザーを示します。値は、次の1つ以上で構成されるカンマ区切りのリストです。
スコープ値 |
|
データベースがデータ・セットから読み取るために追加の認可が必要であることを指定します。考えられるケースは次のとおりです。
|
|
データセット所有者を指定します。これは、データ・セットが誰に属しているか、またはデータ・セットの更新および保守を担当しているユーザーを示します。たとえば、 |
|
データ・セットが登録されているAutonomous Databaseから、データ・セットへのアクセスがオフロードされるリフレッシュ可能クローンの1つ以上のAutonomous Database OCIDsを指定します。
たとえば、
データ・セット・コンシューマが、 たとえば、1つの明示的な
リフレッシュ可能クローンの使用の詳細は、Autonomous Databaseでのリフレッシュ可能クローンの使用を参照してください。 |
使用上のノート
-
オブジェクトに対する
READ WITH GRANT OPTION
権限がある場合は、別のスキーマにオブジェクトを登録できます。 -
オブジェクトを登録した後、ユーザーは、クラウド・リンクを使用してオブジェクトにアクセスするために最大10分待機する必要がある場合があります。
-
既存のデータ・セットのスコープを変更するには、最初に
DBMS_CLOUD_LINK.UNREGISTER
でデータ・セットを登録解除する必要があります。次に、DBMS_CLOUD_LINK.REGISTER
に新しいスコープでデータ・セットを登録する必要があります。これら2つの操作の合計待機時間は、最大20分(登録解除に10分、レジスタが伝播されてクラウド・リンクからアクセス可能になるまでさらに10分)です。この遅延は、
DBA_CLOUD_LINK_REGISTRATIONS
ビューとDBA_CLOUD_LINK_ACCESS
ビューの両方のデータ・セットの可視性にも影響します。 -
表またはビューに対する
READ
WITH
GRANT
OPTION
権限がある場合は、別のユーザーのスキーマに存在する表またはビューを登録できます。 -
The scope you set when you register a data set is only honored when it matches or is more restrictive than the value set with
DBMS_CLOUD_LINK_ADMIN.GRANT_REGISTER
. For example, assume the ADMIN granted the scope'MY$TENANCY'
withGRANT_REGISTER
, and the user specifies'MY$REGION'
when they register a data set withDBMS_CLOUD_LINK.REGISTER
. In this case they would see an error such as the following: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.REGISTER
にoffload_targets
パラメータを指定する場合は、クロスリージョン・リフレッシュ可能クローンにデータ・セットを登録するときに、このパラメータを省略する必要があります。
親トピック: DBMS_CLOUD_LINKサブプログラムの要約
REVOKE_AUTHORIZATIONプロシージャ
構文
DBMS_CLOUD_LINK.REVOKE_AUTHORIZATION
(
database_id IN VARCHAR2,
namespace IN VARCHAR2 DEFAULT,
name IN VARCHAR2
);
パラメータ
パラメータ | 説明 |
---|---|
|
Autonomous DatabaseインスタンスのデータベースIDを指定します。 |
|
指定された |
|
指定された |
親トピック: DBMS_CLOUD_LINKサブプログラムの要約
UNREGISTERプロシージャ
REGISTER
プロシージャに登録したユーザーは、リモート・アクセスに使用できなくなるように表またはビューを登録解除できます。
構文
DBMS_CLOUD_LINK.UNREGISTER
(
namespace IN VARCHAR2,
name IN VARCHAR2
);
パラメータ
パラメータ | 説明 |
---|---|
|
ユーザー名を指定します。 |
name |
データ・セットの名前を指定します。 |
使用上のノート
DBMS_CLOUD_LINK.UNREGISTER
の完全伝播には最大10分かかる場合があり、その後、リモートからデータにアクセスできるようになります。
親トピック: DBMS_CLOUD_LINKサブプログラムの要約