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 AI Databaseインスタンスの一意の識別子を返します。同じインスタンスで |
|
|
指定されたデータ・セットにアクセスするための認可を指定されたデータベースに付与します。 |
|
|
表またはビューをデータ・セットとして登録します。 |
|
|
指定されたデータ・セットにアクセスするための、指定されたデータベースの認可を取り消します。 |
|
|
登録済みのデータセットを削除します。 |
|
|
|
- DESCRIBEファンクション
このファンクションは、データ・セットの説明を取得します。この説明は、データ・セットがDBMS_CLOUD_LINK.REGISTERに登録されている場合に提供されます。 - FINDプロシージャ
このプロシージャは、検索文字列に一致するデータ・セットのネームスペース、名前および説明を取得します。一致するデータ・セットは、アクセス制限に基づいてユーザーがアクセスできる場合にのみ表示されます。 - GET_DATABASE_IDファンクション
このファンクションは、Autonomous AI 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 AI Databaseインスタンスによってリモートでアクセスできる特定のデータをさらに制限および制御できます。
戻り値
VARCHAR2のAutonomous AI Databaseインスタンスの一意の識別子。
親トピック: DBMS_CLOUD_LINKサブプログラムの要約
GRANT_AUTHORIZATIONプロシージャ
構文
DBMS_CLOUD_LINK.GRANT_AUTHORIZATION(
database_id IN VARCHAR2,
namespace IN VARCHAR2 DEFAULT,
name IN VARCHAR2
);
パラメータ
| パラメータ | 摘要 |
|---|---|
|
|
Autonomous AI 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 AI Databaseから、データ・セットへのアクセスがオフロードされるリフレッシュ可能クローンの1つ以上のAutonomous AI Database OCIDsを指定します。
たとえば、3つの
データ・セット・コンシューマが、 たとえば、1つの明示的な
リフレッシュ可能クローンの使用の詳細は、Autonomous AI Databaseでのリフレッシュ可能クローンの使用を参照してください。 |
使用上のノート
-
オブジェクトを登録した後、ユーザーはクラウド・リンクを使用してオブジェクトにアクセスするために最大10分待機する必要がある場合があります。
-
プロシージャ
DBMS_CLOUD_LINK.UPDATE_REGISTRATIONを使用して、既存のデータ・セットの属性を変更します。更新が完了するまでの待機時間は、登録の変更が伝播され、クラウド・リンクを介してアクセス可能になるまで最大10分です。この遅延は、
DBA_CLOUD_LINK_REGISTRATIONSビューとDBA_CLOUD_LINK_ACCESSビューの両方のデータの精度に影響を与える可能性があります。 -
表またはビューに対する
READWITHGRANTOPTION権限がある場合は、別のユーザーのスキーマに存在する表またはビューを登録できます。 -
データ・セットの登録時に設定したスコープは、
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 AI 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 AI 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 AI Databaseから、データ・セットへのアクセスがオフロードされるリフレッシュ可能クローンの1つ以上のAutonomous AI Database OCIDsを指定します。
たとえば、3つの
データ・セット・コンシューマが、 たとえば、1つの明示的な
リフレッシュ可能クローンの使用の詳細は、Autonomous AI Databaseでのリフレッシュ可能クローンの使用を参照してください。 このパラメータ値に対して デフォルトでは、この属性は更新されません。 |
使用上のノート
-
データ・セットの
schema_name属性およびschema_object属性は更新できません。 -
オブジェクトの登録を更新した後、ユーザーは、クラウド・リンクで更新された属性を使用してオブジェクトにアクセスするために最大10分待機する必要がある場合があります。
-
表またはビューに対する
READWITHGRANTOPTION権限がある場合は、別のユーザーのスキーマに存在する表またはビューの登録を更新できます。 -
データ・セットの登録の更新時に設定するスコープは、
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 AI Databaseインスタンスでスコープが
MY$COMPARTMENTに設定されたDBMS_CLOUD_LINK.UPDATE_REGISTRATIONを実行する場合、同じスコープ・パラメータ値(MY$COMPARTMENT)を持つクロスリージョン・リフレッシュ可能クローンでプロシージャを再度実行します。 -
ソースの
DBMS_CLOUD_LINK.REGISTERでoffload_targetsパラメータを指定する場合は、リージョン間リフレッシュ可能クローンにデータ・セットを登録するときに、このパラメータを省略する必要があります。
親トピック: DBMS_CLOUD_LINKサブプログラムの要約