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.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サブプログラムの要約
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
プロシージャを使用して表またはビューを以前に登録したユーザーは、表またはビューを登録解除して、リモート・アクセスに使用できなくなります。 - UPDATE_REGISTRATIONプロシージャ
このプロシージャは、DBMS_CLOUD_LINK.REGISTER
を使用して登録されたデータ・セットの1つ以上の属性を更新します。
親トピック: 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から、データ・セットへのアクセスがオフロードされるリフレッシュ可能クローンのAutonomous Database OCIDsを1つ以上指定します。
たとえば、3つの
データ・セット・コンシューマが、 たとえば、1つの明示的な
リフレッシュ可能クローンの使用の詳細は、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.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サブプログラムの要約
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 |
データを説明するために更新されたテキストを指定します。 このパラメータ値に対して デフォルトでは、この属性は更新されません。 |
scope |
指定された値でスコープを更新します。スコープは、データ・セットへのアクセスを許可するユーザーを示します。値は、次の1つ以上含むコンマ区切りのリストです。
スコープ値 このパラメータ値に対して デフォルトでは、この属性は更新されません。 |
|
データベースがデータ・セットから読み取るために追加の認可が必要であることを指定します。次のケースが考えられます。
このパラメータ値に対して デフォルトでは、この属性は更新されません。 |
|
データ・セットの所有者を指定します。これは、データ・セットが属するユーザー、またはデータ・セットの更新と保守を担当するユーザーを示します。たとえば、データ・セットを登録したユーザーの電子メール・アドレスに このパラメータ値に対して デフォルトでは、この属性は更新されません。 |
|
データ・セットが登録されているAutonomous Databaseから、データ・セットへのアクセスがオフロードされるリフレッシュ可能クローンのAutonomous Database OCIDsを1つ以上指定します。
たとえば、3つの
データ・セット・コンシューマが、 たとえば、1つの明示的な
リフレッシュ可能クローンの使用の詳細は、Autonomous Databaseでのリフレッシュ可能クローンの使用を参照してください。 このパラメータ値に対して デフォルトでは、この属性は更新されません。 |
使用上のノート
-
データ・セットの
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
パラメータを指定する場合は、リージョン間リフレッシュ可能クローンにデータ・セットを登録するときに、このパラメータを省略する必要があります。
親トピック: DBMS_CLOUD_LINKサブプログラムの要約