共有コンシューマ・サブプログラムの概要
この表は、共有の消費に使用されるDBMS_SHARE
パッケージのプロシージャおよびファンクションを示しています。
サブプログラム | 説明 |
---|---|
ASSERT_SHARING_IDプロシージャ | 共有IDに対して基本検証チェックを実行し、正規形式で返します。 |
CREATE_CREDENTIALSプロシージャおよびファンクション | デルタ・プロファイルからBearerトークンを含む資格証明を作成します。 |
CREATE_OR_REPLACE_SHARE_LINKプロシージャ | 登録された共有プロバイダからの共有をサブスクライブします。 |
CREATE_OR_REPLACE_ORACLE_SHARE_PROVIDERプロシージャ | ローカル名でOracle共有プロバイダをサブスクライブします。 |
CREATE_ORACLE_SHARE_PROVIDERプロシージャ | ローカル名でOracle共有プロバイダをサブスクライブします。 |
CREATE_SHARE_LINKプロシージャ | 登録された共有プロバイダからの共有をサブスクライブします。 |
CREATE_SHARE_LINK_VIEWプロシージャ | リモート共有表へのアクセス権を付与する名前付きビューを作成または置換します。 |
CREATE_SHARE_PROVIDERプロシージャ | デルタ共有プロバイダにサブスクライブします。 |
DISCOVER_AVAILABLE_SHARESファンクション | サブスクライブされた共有プロバイダから、使用可能な表ごとに1つのSHARE_AVAILABLE_SHARES_ROW を返します。
|
DISCOVER_AVAILABLE_TABLESファンクション | サブスクライブされた共有プロバイダまたは明示的なデルタ・エンドポイントから、使用可能な表ごとに1つのSHARE_AVAILABLE_TABLES_ROW を返します。
|
DROP_SHARE_LINKプロシージャ | CREATE_SHARE_LINK プロシージャによって作成された共有リンクを削除します。
|
DROP_SHARE_PROVIDERプロシージャ | 共有プロバイダへのサブスクリプションを削除します。 |
ENABLE_DELTA_ENDPOINTプロシージャ | 指定されたユーザーがデルタ・エンドポイントに接続できるようにするために必要なACLを作成します。 |
FLUSH_SHARE_LINK_CACHEプロシージャ | 特定のシェアリンクのシェアのキャッシュをフラッシュします。 |
FLUSH_SHARE_PROVIDER_CACHEプロシージャ | 特定のシェアプロバイダのシェアのキャッシュをフラッシュします。 |
GENERATE_SHARE_LINK_SELECTプロシージャおよびファンクション | 共有表からデータを返すSELECT文を生成します。 |
GET_ORACLE_SHARE_LINK_INFOファンクション | Oracle-to-Oracle共有のクラウドリンク名と名前空間を取得します。 |
GET_SHARE_LINK_INFOプロシージャ | エンドポイント、共有タイプおよび共有名を、共有リンクの追加のJSONメタデータとともに取得します。 |
GET_SHARE_PROVIDER_CREDENTIALプロシージャ | 指定されたデルタ共有プロバイダへのアクセスを試みたときに、現在のユーザーが使用する資格証明名を取得します。 |
GET_SHARE_PROVIDER_INFOプロシージャ | エンドポイント文字列および共有タイプを、共有プロバイダの追加のJSONメタデータとともに取得します。 |
GET_SHARING_IDファンクション | CREATE_SHARE_RECIPIENT プロシージャでsharing_id として使用できる識別子を返します。
|
OPEN_SHARE_LINK_CURSORプロシージャ | 共有表からデータを返すカーソルを開きます。 |
REFRESH_BEARER_TOKEN_CREDENTIALプロシージャ | CREATE_BEARER_TOKEN_CREDENTIAL またはCREATE_CREDENTIALS によって作成された1つ以上の資格証明を更新します。
|
RENAME_CLOUD_STORAGE_LINKプロシージャ | 登録されているクラウド・ストレージ・リンクの名前を変更します。 |
RENAME_SHARE_LINKプロシージャ | 登録済みの共有リンクの名前を変更します。 |
RENAME_SHARE_PROVIDERプロシージャ | 登録された共有プロバイダの名前を変更します。 |
REMOVE_SHARE_SCHEMAプロシージャ | スキーマとそのすべての内容を共有から削除します。 |
SET_SHARE_LINK_METADATAプロシージャ | 共有リンクの追加のJSONメタデータを設定します。 |
SET_SHARE_PROVIDER_CREDENTIALプロシージャ | 指定された共有プロバイダにアクセスするための資格名を設定します。 |
SET_SHARE_PROVIDER_METADATAプロシージャ | 共有プロバイダに追加のJSONメタデータを設定します。 |
UPDATE_BEARER_TOKEN_CREDENTIALプロシージャ | CREATE_CREDENTIALS またはCREATE_BEARER_TOKEN_CREDENTIAL によって作成された資格証明の属性を変更します。
|
- ASSERT_SHARING_IDプロシージャ
共有IDに対して基本検証チェックを実行し、標準形式で戻します。IDが明らかに無効な場合は例外が発生します。 - CREATE_CREDENTIALSプロシージャおよびファンクション
デルタ共有プロファイルからBearerトークンを含む資格証明を作成します。標準タイプであるバージョン1では、エンドポイントと1つの長期ベアラー・トークンを指定します。 - CREATE_OR_REPLACE_SHARE_LINKプロシージャ
登録済の共有プロバイダから共有するためにサブスクライブします。 - CREATE_OR_REPLACE_ORACLE_SHARE_PROVIDERプロシージャ
Oracle共有プロバイダにローカル名でサブスクライブします。 - CREATE_ORACLE_SHARE_PROVIDERプロシージャ
Oracle共有プロバイダにローカル名でサブスクライブします。 - CREATE_SHARE_LINKプロシージャ
登録済の共有プロバイダから共有するためにサブスクライブします。使用可能な共有名は、DISCOVER_AVAILABLE_SHARES
をコールすることで確認できます。 - CREATE_SHARE_LINK_VIEWプロシージャ
リモート共有表へのアクセス権を付与する名前付きビューを作成または置換します。 - CREATE_SHARE_PROVIDERプロシージャ
デルタ共有プロバイダにサブスクライブします。 - DISCOVER_AVAILABLE_SHARESファンクション
サブスクライブされた共有プロバイダから、使用可能な表ごとに1つのSHARE_AVAILABLE_SHARES_ROW
を返します。 - DISCOVER_AVAILABLE_TABLESファンクション
サブスクライブされた共有プロバイダから、使用可能な表ごとに1つのSHARE_AVAILABLE_TABLES_ROW
を返します。 - DROP_SHARE_LINKプロシージャ
CREATE_SHARE_LINK
プロシージャによって作成された共有リンクを削除します。 - DROP_SHARE_PROVIDERプロシージャ
共有プロバイダへのサブスクリプションを削除します。 - ENABLE_DELTA_ENDPOINTプロシージャ
指定したユーザーがデルタ・エンドポイントに接続できるようにするために必要なACLを作成します。この手順には管理権限が必要です。 - FLUSH_SHARE_LINK_CACHEプロシージャ
特定の共有リンクの共有のキャッシュをフラッシュします。リモートエンドポイントのシェアのリストは、キャッシュされた値に依存するのではなく、フェッチされます。 - FLUSH_SHARE_PROVIDER_CACHEプロシージャ
特定の共有プロバイダの共有のキャッシュをフラッシュします。リモートエンドポイントのシェアのリストは、キャッシュされた値に依存するのではなく、フェッチされます。 - GENERATE_SHARE_LINK_SELECTプロシージャおよびファンクション
共有表からデータを返すSELECT文を生成します。 - GET_ORACLE_SHARE_LINK_INFOファンクション
OracleとOracleの共有のクラウド・リンク名およびネームスペースを取得します。 - GET_SHARE_LINK_INFOプロシージャ
共有リンクの追加のJSONメタデータとともに、エンドポイント、共有タイプおよび共有名を取得します。 - GET_SHARE_PROVIDER_CREDENTIALプロシージャ
指定されたデルタ共有プロバイダへのアクセスを試みたときに、現行のユーザーが使用する資格証明名を取得します。 - GET_SHARE_PROVIDER_INFOプロシージャ
共有プロバイダの追加のJSONメタデータとともに、エンドポイント文字列および共有タイプを取得します。ORACLE共有プロバイダの場合、エンドポイント引数にOracleプロバイダIDが返されます。 - GET_SHARING_IDファンクション
CREATE_SHARE_RECIPIENT
プロシージャでsharing_id
として使用できる識別子を返します。この関数は、異なるデータベース内の「プロバイダ」と「受信者」の2人のユーザー間でデータを共有するために使用できます。 - OPEN_SHARE_LINK_CURSORプロシージャ
共有表からデータを返すカーソルを開きます。 - REFRESH_BEARER_TOKEN_CREDENTIALプロシージャ
登録済トークン・エンドポイントをコールし、新しいベアラー・トークンをフェッチして、CREATE_BEARER_TOKEN_CREDENTIAL
またはCREATE_CREDENTIALS
によって作成された1つ以上の資格証明を更新します。このプロシージャは、50分ごとに実行されるスケジューラ・ジョブADP$BEARER_REFRESH_JOB
によって自動的にコールされることに注意してください。 - RENAME_CLOUD_STORAGE_LINKプロシージャ
登録されたクラウド・ストレージ・リンクの名前を変更します。 - RENAME_SHARE_PROVIDERプロシージャ
登録された共有プロバイダの名前を変更します。 - REMOVE_SHARE_SCHEMAプロシージャ
スキーマとそのすべての内容を共有から削除します。 - SET_SHARE_LINK_METADATAプロシージャ
共有リンクの追加のJSONメタデータを設定します。 - SET_SHARE_PROVIDER_CREDENTIALプロシージャ
現在のユーザーが特定の共有プロバイダへのアクセスを試行するときに使用する資格証明名を設定します。 - SET_SHARE_PROVIDER_METADATAプロシージャ
共有プロバイダの追加のJSONメタデータを設定します。 - UPDATE_BEARER_TOKEN_CREDENTIALプロシージャ
CREATE_CREDENTIALS
またはCREATE_BEARER_TOKEN_CREDENTIAL
によって作成された資格証明の属性を変更します。
親トピック: DBMS_SHAREパッケージ化
ASSERT_SHARING_IDプロシージャ
共有IDに対して基本検証チェックを実行し、正規形式で返します。IDが明らかに無効な場合は例外が発生します。
構文
PROCEDURE ASSERT_SHARING_ID
(
sharing_id IN OUT NOCOPY VARCHAR2,
out_sharing_id_type IN OUT NOCOPY VARCHAR2
);
パラメータ
パラメータ | 説明 |
---|---|
sharing_id |
チェック対象のID。 |
out_sharing_id_type |
IDのタイプ(有効な場合)。たとえば、TENANCY またはDATABASE です。
|
親トピック: 共有コンシューマ・サブプログラムの概要
CREATE_CREDENTIALSプロシージャおよびファンクション
デルタ共有プロファイルからBearerトークンを含む資格証明を作成します。標準タイプであるバージョン1では、エンドポイントと1つの長期ベアラー・トークンを指定します。
構文
PROCEDURE CREATE_CREDENTIALS
(
credential_base_name IN VARCHAR2,
delta_profile IN CLOB,
out_credential_name IN OUT NOCOPY VARCHAR2
);
次に、JSON形式で新しい資格証明の名前を返すcreate_credentials
の機能バージョンを示します。
FUNCTION CREATE_CREDENTIALS
(
credential_base_name IN VARCHAR2,
delta_profile IN CLOB
)
RETURN CLOB;
パラメータ
パラメータ | 説明 |
---|---|
credential_base_name |
作成する資格証明のベース名。 |
delta_profile |
共有プロバイダから取得した、JSON形式のデルタ共有プロファイル。
プロファイルには、オプションで
tokenEndpoint プロパティをclientID およびclientSecret とともに含めることもできます。
詳細は、プロファイル・ファイル形式およびベアラー・トークンを参照してください。 |
out_credential_name |
新しく作成されたベアラー・トークン資格証明の名前。 |
親トピック: 共有コンシューマ・サブプログラムの概要
CREATE_OR_REPLACE_SHARE_LINKプロシージャ
登録された共有プロバイダからの共有をサブスクライブします。
構文
PROCEDURE CREATE_OR_REPLACE_SHARE_LINK
(
share_link_name IN VARCHAR2,
share_provider IN VARCHAR2,
share_name IN VARCHAR2,
provider_owner IN VARCHAR2 := NULL,
link_owner IN VARCHAR2 := NULL,
use_default_credential IN BOOLEAN := TRUE,
metadata IN SYS.JSON_OBJECT_T := NULL,
auto_commit IN BOOLEAN := TRUE
);
パラメータ
パラメータ | 説明 |
---|---|
share_link_name |
作成する共有リンクの名前。使用可能な共有名は、DISCOVER_AVAILABLE_SHARES関数をコールすることで確認できます。 |
share_provider |
登録された共有プロバイダの名前。 |
share_name |
共有プロバイダからのシェアの名前。 |
provider_owner |
共有プロバイダの所有者。デフォルトは、現行のスキーマです。 |
link_owner |
共有リンクの所有者。デフォルトは、現行のスキーマです。 |
use_default_credential |
TRUEの場合、共有プロバイダと同じ資格証明を使用します。 |
metadata |
共有リンクに関連付けるオプションのメタデータ。 |
auto_commit |
TRUE (デフォルト)の場合、このプロシージャ・コールは、コミットが実行されるまで外部に表示されない変更をコミットします。FALSEの場合、変更を表示するには、ユーザーはこのコールの実行後にCOMMITする必要があります。 |
親トピック: 共有コンシューマ・サブプログラムの概要
CREATE_OR_REPLACE_ORACLE_SHARE_PROVIDERプロシージャ
ローカル名でOracle共有プロバイダをサブスクライブします。
その後、ALL_SHARE_PROVIDERSビューにRECIPIENT_TYPE = 'ORACLE'
とともに表示されます。
構文
PROCEDURE CREATE_OR_REPLACE_CLOUD_STORAGE_LINK
(
storage_link_name IN VARCHAR2,
uri IN VARCHAR2,
owner IN VARCHAR2 := NULL,
metadata IN SYS.JSON_OBJECT_T := NULL,
auto_commit IN BOOLEAN := TRUE
);
パラメータ
パラメータ | 説明 |
---|---|
storage_link_name |
クラウド・ストレージ・リンクの名前。リンクの名前は、標準のOracleネーミング規則に従う必要があります。データベース・オブジェクト名および識別子を参照してください |
uri |
ストレージ・バケットのURI。URIはhttps://objectstorage.region.oraclecloud.com/n/namespace-string/b/bucket/o の形式である必要があります |
owner |
ストレージ・リンクの所有者。デフォルトは、現行のスキーマです。 |
metadata |
追加情報を含むオプションのJSONメタデータ・ドキュメント。 |
auto_commit |
TRUEの場合、変更はリンクの作成後に自動的にコミットされます。デフォルトはTRUEです。 |
親トピック: 共有コンシューマ・サブプログラムの概要
CREATE_ORACLE_SHARE_PROVIDERプロシージャ
ローカル名でOracle共有プロバイダをサブスクライブします。
その後、ALL_SHARE_PROVIDERSビューにRECIPIENT_TYPE = 'ORACLE'
とともに表示されます。
構文
PROCEDURE CREATE_ORACLE_SHARE_PROVIDER
(
oracle_provider_id IN VARCHAR2,
provider_name IN VARCHAR2,
owner IN VARCHAR2 := NULL,
metadata IN SYS.JSON_OBJECT_T := NULL,
auto_commit IN BOOLEAN := TRUE
);
パラメータ
パラメータ | 説明 |
---|---|
oracle_provider_id |
ALL_AVAILABLE_ORACLE_SHARE_PROVIDERS ビューから取得したプロバイダID。
ALL_AVAILABLE_ORACLE_SHARE_PROVIDERSビューを参照してください。 |
provider_name |
プロバイダのローカル名 |
owner |
新しい共有プロバイダの所有者。現在のユーザーの場合はNULLのままにします。 |
metadata |
プロバイダに関連付けるオプションのJSONメタデータ。 |
auto_commit |
TRUEの場合、変更はリンクの作成後に自動的にコミットされます。デフォルトはTRUEです。 |
親トピック: 共有コンシューマ・サブプログラムの概要
CREATE_SHARE_LINKプロシージャ
登録された共有プロバイダからの共有をサブスクライブします。使用可能な共有名は、DISCOVER_AVAILABLE_SHARES
をコールすることで確認できます。
構文
PROCEDURE CREATE_SHARE_LINK
(
share_link_name IN VARCHAR2,
share_provider IN VARCHAR2,
share_name IN VARCHAR2,
provider_owner IN VARCHAR2 := NULL,
link_owner IN VARCHAR2 := NULL,
use_default_credential IN BOOLEAN := TRUE,
metadata IN SYS.JSON_OBJECT_T := NULL,
auto_commit IN BOOLEAN := TRUE
);
パラメータ
パラメータ | 説明 |
---|---|
share_link_name |
作成する共有リンクの名前。これは、標準のOracleネーミング規則に従う必要があり、 share_name パラメータと同じである必要はありません。
|
share_provider |
データを共有する共有プロバイダの名前(ALL_SHARE_PROVIDERS にリストされています)。
|
share_name |
共有プロバイダによって定義される共有の名前。 |
provider_owner |
ALL_SHARE_PROVIDER にリストされている共有プロバイダをサブスクライブしたスキーマ。通常は、現在のユーザーにデフォルト設定するにはnullのままにします。
|
link_owner |
新しい共有リンクの所有者。通常は、現在のユーザーにデフォルト設定するにはnullのままにします。 |
use_default_credential |
共有リンクと共有プロバイダの両方に同じ資格証明を使用するには、TRUEに設定します。 |
metadata |
共有リンクに関連付けられたオプションのJSONメタデータ。 |
auto_commit |
TRUEの場合、変更はリンクの作成後に自動的にコミットされます。デフォルトはTRUEです。 |
親トピック: 共有コンシューマ・サブプログラムの概要
CREATE_SHARE_LINK_VIEWプロシージャ
リモート共有表へのアクセス権を付与する名前付きビューを作成または置換します。
構文
PROCEDURE CREATE_SHARE_LINK_VIEW
(
view_name IN VARCHAR2,
share_link_name IN VARCHAR2,
share_schema_name IN VARCHAR2,
share_table_name IN VARCHAR2,
view_owner IN VARCHAR2 := NULL,
share_link_owner IN VARCHAR2 := NULL
);
パラメータ
パラメータ | 説明 |
---|---|
view_name |
新しいビューの名前。 |
share_link_name |
共有リンクの名前。 |
share_schema_name |
共有スキーマの名前。 |
share_table_name |
共有表の名前。 |
view_owner |
ビューの所有者。デフォルトは、現行のスキーマです。 |
share_link_owner |
リンク所有者。デフォルトは、現行のスキーマです。 |
親トピック: 共有コンシューマ・サブプログラムの概要
CREATE_SHARE_PROVIDERプロシージャ
デルタ共有プロバイダにサブスクライブします。
構文
PROCEDURE CREATE_SHARE_PROVIDER
(
provider_name IN VARCHAR2,
endpoint IN VARCHAR2,
token_endpoint IN VARCHAR2 := NULL,
share_type IN VARCHAR2 := 'DELTA',
owner IN VARCHAR2 := NULL,
metadata IN SYS.JSON_OBJECT_T := NULL,
auto_commit IN BOOLEAN := TRUE
);
パラメータ
パラメータ | 説明 |
---|---|
provider_name |
この共有プロバイダのローカル名。 |
endpoint |
デルタ共有プロファイルからのデルタ・エンドポイント。 |
token_endpoint |
このパラメータは無視されます。 |
share_type |
共有プロバイダのタイプ。これをデルタという。 |
owner |
共有プロバイダの所有者。デフォルトは、現行のスキーマです。 |
metadata |
共有プロバイダに関連付けるオプションのJSONメタデータ。 |
auto_commit |
TRUE (デフォルト)の場合、このプロシージャ・コールは、コミットが実行されるまで外部に表示されない変更をコミットします。FALSEの場合、変更を表示するには、ユーザーはこのコールの実行後にCOMMITする必要があります。 |
親トピック: 共有コンシューマ・サブプログラムの概要
DISCOVER_AVAILABLE_SHARESファンクション
サブスクライブされた共有プロバイダから、使用可能な表ごとに1つのSHARE_AVAILABLE_SHARES_ROW
を返します。
構文
FUNCTION DISCOVER_AVAILABLE_SHARES
(
share_provider IN VARCHAR2,
owner IN VARCHAR2 := NULL
) RETURN share_available_shares_tbl PIPELINED;
パラメータ
パラメータ | 説明 |
---|---|
share_provider |
共有プロバイダの名前。 |
owner |
共有プロバイダの所有者。デフォルトは、現行のスキーマです。 |
例: 特定のプロバイダから使用可能なシェアのリストの検出
SQL> select available_share_name
2 from dbms_share.discover_available_shares('share_prov')
3 order by available_share_name;
AVAILABLE_SHARE_NAME
--------------------------------------------------------------------------------
BURLINGTON_EXPEDITION_2022
EGYPT_EXPEDITION_2022
親トピック: 共有コンシューマ・サブプログラムの概要
DISCOVER_AVAILABLE_TABLESファンクション
サブスクライブされた共有プロバイダから、使用可能な表ごとに1つのSHARE_AVAILABLE_TABLES_ROW
を返します。
構文
FUNCTION DISCOVER_AVAILABLE_TABLES
(
share_provider IN VARCHAR2 := NULL,
share_name IN VARCHAR2 := NULL,
owner IN VARCHAR2 := NULL,
endpoint IN VARCHAR2 := NULL,
credential_name IN VARCHAR2 := NULL
) RETURN share_available_tables_tbl PIPELINED;
パラメータ
パラメータ | 説明 |
---|---|
share_provider |
オプションの共有プロバイダ名。NULLの場合、サブスクライブされているすべてのシェアプロバイダを検索します。 |
share_name |
オプションの共有名。NULLの場合、検出されたすべてのシェアを検索します。 |
owner |
共有プロバイダの所有者。デフォルトは、現行のスキーマです。 |
endpoint |
オプションのデルタ・エンドポイント。 |
credential_name |
エンドポイントにアクセスするためのオプションのベアラー・トークン資格証明。 |
例: サブスクライブされたすべてのシェアプロバイダから使用可能なシェアを一覧表示します
SQL> select * from dbms_share.discover_available_tables()
2 order by share_name, schema_name, table_name;
PROVIDER_NAME PROVIDER_OWNER SHARE_NAME
------------------------- --------------- ------------------------------
SCHEMA_NAME TABLE_NAME
------------------------- -------------------------
My Test Oracle Provider ADP_SHARE_TEST BURLINGTON_EXPEDITION_2022
SH COUNTRIES
My Test Oracle Provider ADP_SHARE_TEST BURLINGTON_EXPEDITION_2022
SH SH_COUNTRIES
My Test Oracle Provider ADP_SHARE_TEST EGYPT_EXPEDITION_2022
SHARED_SCHEMA SHARED_VIEW_1
My Test Oracle Provider ADP_SHARE_TEST EGYPT_EXPEDITION_2022
SHARED_SCHEMA SHARED_VIEW_2
例: サブスクライブ解除されたエンドポイントから使用可能な表のリスト
SQL> exec dbms_cloud.create_credential('MY_CRED', 'BEARER_TOKEN', '123456')
PL/SQL procedure successfully completed.
SQL> column share_name format a13
SQL> column table_name format a20
SQL> column schema_name format a10
SQL> select share_name, schema_name, table_name
2 from dbms_share.discover_available_tables(
3 endpoint=>'https://my_endpoint',
4 credential_name=>'MY_CRED')
5 order by 1, 2, 3;
SHARE_NAME SCHEMA_NAM TABLE_NAME
------------- ---------- --------------------
DELTA_SHARING DEFAULT BOSTON-HOUSING
DELTA_SHARING DEFAULT COVID_19_NYT
DELTA_SHARING DEFAULT FLIGHT-ASA_2008
DELTA_SHARING DEFAULT LENDING_CLUB
DELTA_SHARING DEFAULT NYCTAXI_2019
DELTA_SHARING DEFAULT NYCTAXI_2019_PART
DELTA_SHARING DEFAULT OWID-COVID-DATA
7 rows selected.
親トピック: 共有コンシューマ・サブプログラムの概要
DROP_SHARE_LINKプロシージャ
CREATE_SHARE_LINK
プロシージャによって作成された共有リンクを削除します。
構文
PROCEDURE DROP_SHARE_LINK
(
link_name IN VARCHAR2,
link_owner IN VARCHAR2 := NULL
);
パラメータ
パラメータ | 説明 |
---|---|
link_name |
削除する共有リンクの名前。 |
link_owner |
削除する共有リンクの所有者。現在のスキーマの場合はnullのままにします。 |
親トピック: 共有コンシューマ・サブプログラムの概要
DROP_SHARE_PROVIDERプロシージャ
共有プロバイダへのサブスクリプションを削除します。
構文
PROCEDURE DROP_SHARE_PROVIDER
(
provider_name IN VARCHAR2,
owner IN VARCHAR2 := NULL,
drop_credentials IN BOOLEAN := FALSE
);
パラメータ
パラメータ | 説明 |
---|---|
provider_name |
削除する共有プロバイダの名前。 |
owner |
削除する共有プロバイダの所有者。デフォルトは、現行のスキーマです。 |
drop_credentials |
TRUEの場合、プロバイダに関連付けられている資格証明はすべて削除されます。FALSEの場合、資格証明は削除されません。 |
親トピック: 共有コンシューマ・サブプログラムの概要
ENABLE_DELTA_ENDPOINTプロシージャ
指定されたユーザーがデルタ・エンドポイントに接続できるようにするために必要なACLを作成します。この手順には管理権限が必要です。
構文
PROCEDURE ENABLE_DELTA_ENDPOINT
(
schema_name IN VARCHAR2,
delta_profile IN CLOB,
enabled IN BOOLEAN := TRUE
);
パラメータ
パラメータ | 説明 |
---|---|
schema_name |
有効化または無効化するスキーマ。 |
delta_profile |
デルタ・プロファイル。エンドポイントとtokenEndpointのみが必要です。 |
enabled |
有効化する場合はTRUE、無効化する場合はFALSE。 |
親トピック: 共有コンシューマ・サブプログラムの概要
FLUSH_SHARE_LINK_CACHEプロシージャ
特定のシェアリンクのシェアのキャッシュをフラッシュします。リモートエンドポイントのシェアのリストは、キャッシュされた値に依存するのではなく、フェッチされます。
構文
PROCEDURE FLUSH_SHARE_LINK_CACHE
(
link_name IN VARCHAR2,
owner IN VARCHAR2 := NULL,
auto_commit IN BOOLEAN := TRUE
);
パラメータ
パラメータ | 説明 |
---|---|
link_name |
共有リンクの名前。 |
owner |
共有リンクの所有者。デフォルトは、現行のスキーマです。 |
auto_commit |
TRUEの場合、変更は自動的にコミットされます。デフォルトはTRUEです。 |
親トピック: 共有コンシューマ・サブプログラムの概要
FLUSH_SHARE_PROVIDER_CACHEプロシージャ
特定のシェアプロバイダのシェアのキャッシュをフラッシュします。リモートエンドポイントのシェアのリストは、キャッシュされた値に依存するのではなく、フェッチされます。
構文
PROCEDURE FLUSH_SHARE_PROVIDER_CACHE
(
provider_name IN VARCHAR2,
owner IN VARCHAR2 := NULL,
auto_commit IN BOOLEAN := TRUE
);
パラメータ
パラメータ | 説明 |
---|---|
provider_name |
共有プロバイダの名前。 |
owner |
共有プロバイダの所有者。デフォルトは、現行のスキーマです。 |
auto_commit |
TRUEの場合、変更は自動的にコミットされます。デフォルトはTRUEです。 |
親トピック: 共有コンシューマ・サブプログラムの概要
GENERATE_SHARE_LINK_SELECTプロシージャおよびファンクション
共有表からデータを返すSELECT文を生成します。
構文
GENERATE_SHARE_LINK_SELECT
のプロシージャ・バージョン。
PROCEDURE GENERATE_SHARE_LINK_SELECT
(
share_link_name IN VARCHAR2,
share_schema_name IN VARCHAR2,
share_table_name IN VARCHAR2,
stmt IN OUT NOCOPY CLOB,
share_link_owner IN VARCHAR2 := NULL
);
GENERATE_SHARE_LINK_SELECT
のファンクション・バージョン。 FUNCTION GENERATE_SHARE_LINK_SELECT
(
share_link_name IN VARCHAR2,
share_schema_name IN VARCHAR2,
share_table_name IN VARCHAR2,
share_link_owner IN VARCHAR2 := NULL
)
RETURN CLOB;
パラメータ
パラメータ | 説明 |
---|---|
share_link_name |
共有リンクの名前。 |
share_schema_name |
共有スキーマの名前。 |
share_table_name |
共有表の名前。 |
stmt |
生成されたSELECT文。 |
share_link_owner |
リンク所有者。デフォルトは、現行のスキーマです。 |
親トピック: 共有コンシューマ・サブプログラムの概要
GET_ORACLE_SHARE_LINK_INFOファンクション
Oracle-to-Oracle共有のクラウドリンク名と名前空間を取得します。
構文
FUNCTION GET_ORACLE_SHARE_LINK_INFO
(
oracle_provider_id IN VARCHAR2,
share_name IN VARCHAR2,
share_schema_name IN VARCHAR2,
share_table_name IN VARCHAR2
)
RETURN CLOB;
パラメータ
パラメータ | 説明 |
---|---|
oracle_provider_id |
ALL_AVAILABLE_ORACLE_SHARE_PROVIDERS のOracle Provider ID。
|
share_name |
ALL_AVAILABLE_ORACLE_SHARE_PROVIDERS.SHARES からのシェアの名前。
|
share_schema_name |
ALL_AVAILABLE_ORACLE_SHARE_PROVIDERS.SHARES. からの共有スキーマの名前 |
share_table_name |
ALL_AVAILABLE_ORACLE_SHARE_PROVIDERS.SHARES. の表の名前 |
戻り
戻り値は、スキーマ、表およびdblinkの3つのプロパティを含むJSONオブジェクトです。呼出し側は、次の3つのプロパティを使用して、次の形式の問合せを使用してデータをフェッチできます。
SELECT *
FROM <schema>.<table>@<dblink>
親トピック: 共有コンシューマ・サブプログラムの概要
GET_SHARE_LINK_INFOプロシージャ
エンドポイント、共有タイプおよび共有名を、共有リンクの追加のJSONメタデータとともに取得します。
構文
PROCEDURE GET_SHARE_LINK_INFO
(
link_name IN VARCHAR2,
endpoint IN OUT NOCOPY VARCHAR2,
share_type IN OUT NOCOPY VARCHAR2,
share_name IN OUT NOCOPY VARCHAR2,
token_endpoint IN OUT NOCOPY VARCHAR2,
metadata IN OUT NOCOPY BLOB,
link_owner IN VARCHAR2 := NULL
);
パラメータ
パラメータ | 説明 |
---|---|
link_name |
シェアリンクの名前(以前は CREATE_SHARE_LINK によって作成されていました)。
|
endpoint |
OUT: 共有リンクに関連付けられているエンドポイント(ある場合)。 |
share_type |
OUT: 共有リンクのタイプ(DELTA など)。
|
share_name |
OUT: リンクされた共有の名前。 |
token_endpoint |
このパラメータは使用されていません。 |
metadata |
OUT: 共有リンクに関連付けられたオプションのメタデータ。 |
link_owner |
共有リンクの所有者。デフォルトは、現行のスキーマです。 |
親トピック: 共有コンシューマ・サブプログラムの概要
GET_SHARE_PROVIDER_CREDENTIALプロシージャ
指定されたデルタ共有プロバイダへのアクセスを試みたときに、現在のユーザーが使用する資格証明名を取得します。
構文
PROCEDURE GET_SHARE_PROVIDER_CREDENTIAL
(
provider_name IN VARCHAR2,
share_credential IN OUT NOCOPY VARCHAR2,
get_token_credential IN OUT NOCOPY VARCHAR2,
owner IN VARCHAR2 := NULL
);
パラメータ
パラメータ | 説明 |
---|---|
provider_name |
共有プロバイダの名前。 |
share_credential |
OUT: プロバイダに関連付けられた資格証明の名前。資格証明名は、USER_CREDENTIALS ビューのCREDENTIAL_NAME 列に表示されるように二重引用符なしで返されます。
ALL_CREDENTIALS Viewを参照してください。 |
get_token_credential |
このパラメータは使用されません。 |
owner |
所有者は、共有プロバイダが登録されたスキーマの名前であり、資格証明の所有者ではありません。デフォルトは、現行のスキーマです。 |
親トピック: 共有コンシューマ・サブプログラムの概要
GET_SHARE_PROVIDER_INFOプロシージャ
エンドポイント文字列および共有タイプを、共有プロバイダの追加のJSONメタデータとともに取得します。ORACLE共有プロバイダの場合、エンドポイント引数にOracleプロバイダIDが返されます。
構文
PROCEDURE GET_SHARE_PROVIDER_INFO
(
provider_name IN VARCHAR2,
endpoint IN OUT NOCOPY VARCHAR2,
share_type IN OUT NOCOPY VARCHAR2,
token_endpoint IN OUT NOCOPY VARCHAR2,
metadata IN OUT NOCOPY BLOB,
owner IN VARCHAR2 := NULL
);
パラメータ
パラメータ | 説明 |
---|---|
provider_name |
共有プロバイダの名前。 |
endpoint |
デルタ・エンドポイント。 |
share_type |
共有タイプ: DELTA またはORACLE 。
|
token_endpoint |
このパラメータは使用されません。 |
metadata |
共有プロバイダに関連付けられたオプションのメタデータ。 |
owner |
共有プロバイダの所有者。デフォルトは、現行のスキーマです。 |
親トピック: 共有コンシューマ・サブプログラムの概要
GET_SHARING_IDファンクション
CREATE_SHARE_RECIPIENT
プロシージャでsharing_id
として使用できる識別子を返します。この関数は、異なるデータベース内の「プロバイダ」と「受信者」の2人のユーザー間でデータを共有するために使用できます。
詳細は、CREATE_SHARE_RECIPIENTプロシージャを参照してください。
構文
FUNCTION GET_SHARING_ID
(
sharing_id_type IN VARCHAR2 := SHARING_ID_TYPE_DATABASE
)
RETURN VARCHAR2;
パラメータ
パラメータ | 説明 |
---|---|
sharing_id_type |
共有IDのタイプ。 |
使用方法
フローは次のとおりです:
- 受信者は、
DBMS_SHARE.GET_SHARING_ID
をコールして一意の識別子を取得します。 - 受信者は、この識別子(電子メールなど)をプロバイダに送信します。
- プロバイダは
DBMS_SHARE.CREATE_SHARE_RECIPIENT
をコールし、識別子をsharing_id
として渡します。 - プロバイダは
DBMS_SHARE.GRANT_TO_RECIPIENT
をコールして、受信者に共有データへのアクセス権を付与します。
sharing_id_type
パラメータは、前述の順序に従って、どのデータベース・ユーザーがシェアにアクセスできるかを指定するために使用します。
- DATABASE共有は、
GET_SHARING_ID
がコールされたデータベース内の任意の管理ユーザーに表示されます。 - COMPARTMENT共有は、
GET_SHARING_ID
がコールされた同じコンパートメント内の任意のデータベースの管理ユーザーに表示されます。 - テナンシ 共有は、
GET_SHARING_ID
がコールされた同じテナンシ内の任意のデータベースの管理ユーザーに表示されます。 - REGION共有は、
GET_SHARING_ID
がコールされた同じリージョン内の任意のデータベースの管理ユーザーに表示されます。
親トピック: 共有コンシューマ・サブプログラムの概要
OPEN_SHARE_LINK_CURSORプロシージャ
共有表からデータを返すカーソルを開きます。
構文
PROCEDURE OPEN_SHARE_LINK_CURSOR
(
share_link_name IN VARCHAR2,
share_schema_name IN VARCHAR2,
share_table_name IN VARCHAR2,
table_cursor IN OUT NOCOPY SYS_REFCURSOR,
share_link_owner IN VARCHAR2 := NULL
);
パラメータ
パラメータ | 説明 |
---|---|
share_link_name |
共有リンクの名前。 |
share_schema_name |
共有スキーマの名前。 |
share_table_name |
共有表の名前。 |
table_cursor |
カーソル。 |
share_link_owner |
リンク所有者。デフォルトは現在のスキーマです。 |
親トピック: 共有コンシューマ・サブプログラムの概要
REFRESH_BEARER_TOKEN_CREDENTIALプロシージャ
登録済トークン・エンドポイントをコールし、新しいベアラー・トークンをフェッチして、CREATE_BEARER_TOKEN_CREDENTIAL
または CREATE_CREDENTIALS
によって作成された1つ以上の資格証明を更新します。このプロシージャは、50分ごとに実行されるスケジューラ・ジョブADP$BEARER_REFRESH_JOB
によって自動的にコールされることに注意してください。
構文
PROCEDURE REFRESH_BEARER_TOKEN_CREDENTIAL
(
credential_name IN VARCHAR2 := NULL
);
パラメータ
パラメータ | 説明 |
---|---|
credential_name |
リフレッシュする資格証明の名前。 |
親トピック: 共有コンシューマ・サブプログラムの概要
RENAME_CLOUD_STORAGE_LINKプロシージャ
登録されているクラウド・ストレージ・リンクの名前を変更します。
構文
PROCEDURE RENAME_CLOUD_STORAGE_LINK
(
old_name IN VARCHAR2,
new_name IN VARCHAR2,
owner IN VARCHAR2 := NULL,
auto_commit IN BOOLEAN := TRUE
);
パラメータ
パラメータ | 説明 |
---|---|
old_name |
クラウド・ストレージ・リンクの現在の名前。 |
new_name |
クラウド・ストレージ・リンクの新しい名前。 |
owner |
クラウド・ストレージ・リンクの所有者。デフォルトは、現行のスキーマです。 |
auto_commit |
TRUEの場合、変更は自動的にコミットされます。デフォルトはTRUEです。 |
親トピック: 共有コンシューマ・サブプログラムの概要
RENAME_SHARE_PROVIDERプロシージャ
登録された共有プロバイダの名前を変更します。
構文
PROCEDURE RENAME_SHARE_PROVIDER
(
old_name IN VARCHAR2,
new_name IN VARCHAR2,
owner IN VARCHAR2 := NULL
);
パラメータ
パラメータ | 説明 |
---|---|
old_name |
共有プロバイダの現在の名前。 |
new_name |
共有プロバイダの新しい名前。 |
owner |
共有プロバイダの所有者。デフォルトは、現行のスキーマです。 |
親トピック: 共有コンシューマ・サブプログラムの概要
REMOVE_SHARE_SCHEMAプロシージャ
スキーマとそのすべての内容を共有から削除します。
構文
PROCEDURE REMOVE_SHARE_SCHEMA
(
share_name IN VARCHAR2,
schema_name IN VARCHAR2,
share_owner IN VARCHAR2 := NULL,
auto_commit IN BOOLEAN := FALSE
);
パラメータ
パラメータ | 説明 |
---|---|
share_name |
共有の名前。 |
schema_name |
削除するスキーマの名前。 |
share_owner |
シェアの所有者。 |
auto_commit |
TRUEの場合、変更は自動的にコミットされます。デフォルトはFALSE。 |
親トピック: 共有コンシューマ・サブプログラムの概要
SET_SHARE_LINK_METADATAプロシージャ
共有リンクの追加のJSONメタデータを設定します。
構文
PROCEDURE SET_SHARE_LINK_METADATA
(
link_name IN VARCHAR2,
metadata IN SYS.JSON_OBJECT_T,
replace_existing IN BOOLEAN := FALSE,
link_owner IN VARCHAR2 := NULL
);
パラメータ
パラメータ | 説明 |
---|---|
link_name |
共有リンクの名前。 |
metadata |
新しいメタデータ。 |
replace_existing |
TRUEの場合、既存のすべてのメタデータが新しいバージョンに置き換えられます。FALSEの場合、新しい値は既存のメタデータとマージされます。 |
link_owner |
共有リンクの所有者。デフォルトは、現行のスキーマです。 |
親トピック: 共有コンシューマ・サブプログラムの概要
SET_SHARE_PROVIDER_CREDENTIALプロシージャ
現在のユーザーが特定の共有プロバイダにアクセスしようとするときに使用する資格名を設定します。
構文
PROCEDURE SET_SHARE_PROVIDER_CREDENTIAL
(
provider_name IN VARCHAR2,
share_credential IN VARCHAR2,
get_token_credential IN VARCHAR2 := NULL,
owner IN VARCHAR2 := NULL,
check_if_exists IN BOOLEAN := TRUE
);
パラメータ
パラメータ | 説明 |
---|---|
provider_name |
共有プロバイダの名前。 |
share_credential |
Bearerトークン資格証明。 |
get_token_credential |
この引数は無視されます。 |
owner |
共有プロバイダの所有者。デフォルトは、現行のスキーマです。 |
check_if_exists |
TRUE (デフォルト)の場合は、資格証明が存在することを検証します。 |
親トピック: 共有コンシューマ・サブプログラムの概要
SET_SHARE_PROVIDER_METADATAプロシージャ
共有プロバイダに追加のJSONメタデータを設定します。
構文
PROCEDURE SET_SHARE_PROVIDER_METADATA
(
provider_name IN VARCHAR2,
metadata IN SYS.JSON_OBJECT_T,
replace_existing IN BOOLEAN := FALSE,
owner IN VARCHAR2 := NULL
);
パラメータ
パラメータ | 説明 |
---|---|
provider_name |
共有プロバイダの名前。 |
metadata |
新しいメタデータ。 |
replace_existing |
TRUEの場合、既存のすべてのメタデータが新しいバージョンに置き換えられます。FALSEの場合、新しい値は既存のメタデータとマージされます。 |
owner |
共有プロバイダの所有者。デフォルトは、現行のスキーマです。 |
親トピック: 共有コンシューマ・サブプログラムの概要
UPDATE_BEARER_TOKEN_CREDENTIALプロシージャ
CREATE_CREDENTIALS
またはCREATE_BEARER_TOKEN_CREDENTIAL
によって作成された資格証明の属性を変更します。
構文
PROCEDURE UPDATE_BEARER_TOKEN_CREDENTIAL
(
credential_name IN VARCHAR2,
attribute IN VARCHAR2,
new_value IN VARCHAR2
);
パラメータ
パラメータ | 説明 |
---|---|
credential_name |
更新する資格証明の名前。 |
attribute |
更新する属性。'BEARER_TOKEN '、'CLIENT_ID '、'CLIENT_SECRET '、'TOKEN_REFRESH_RATE 'のいずれか。トークン・エンドポイントは変更できません。
|
new_value |
新しい値 |
例: 資格証明のCLIENT_ID
の更新
SQL> BEGIN
2 dbms_share.create_bearer_token_credential(
3 credential_name=>'MY_RENEWABLE_CREDENTIAL',
4 token_endpoint=>'https://myserver/ords/share_provider/oauth/token',
5 client_id=>'VXGQ_44s6qJ-K4WHUNM2yQ..',
6 client_secret=>'y9ddppgwEmZl7adDHFQndw..');
7 END;
8 /
PL/SQL procedure successfully completed.
SQL> select credential_name, username from user_credentials where credential_name LIKE 'MY_RENEWABLE_CREDENTIAL%';
CREDENTIAL_NAME
------------------------------------------
USERNAME
-------------------------------------
MY_RENEWABLE_CREDENTIAL
BEARER_TOKEN
MY_RENEWABLE_CREDENTIAL$TOKEN_REFRESH_CRED
ABCDEF
親トピック: 共有コンシューマ・サブプログラムの概要