共有コンシューマ・サブプログラムの概要

この表は、共有の消費に使用されるDBMS_SHAREパッケージのプロシージャおよびファンクションを示しています。

サブプログラム 摘要
ASSERT_SHARING_IDプロシージャ 共有IDに対して基本検証チェックを実行し、正規の形式で返します。
CREATE_CREDENTIALSプロシージャおよびファンクション デルタ・プロファイルからベアラー・トークンを含む資格証明を作成します。
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が明らかに無効である場合、例外が発生します。

構文

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プロシージャおよびファンクション

デルタ共有プロファイルからベアラー・トークンを含む資格証明を作成します。標準型バージョン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形式のデルタ共有プロファイル。共有プロバイダから取得されます。
{ "shareCredentialsVersion": 1, "endpoint": "https://", "bearerToken": "", "expirationTime": "...", }

プロファイルには、オプションで、tokenEndpointプロパティをclientIDおよびclientSecretとともに含めることもできます。

{ "shareCredentialsVersion": 1, "endpoint": "https://", "bearerToken": "", "expirationTime": "...", "tokenEndpoint": "https://", "clientID": "", "clientSecret": "" }

詳細は、「プロファイル・ファイル形式」および「Bearerトークン」を参照してください。

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 Functionを呼び出すことによって見つけることができます。
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'とともに表示されます。

ノート

ノート:ストレージ・リンクに資格証明を追加するには、SET_STORAGE_CREDENTIALプロシージャを使用します。「SET_STORAGE_CREDENTIALプロシージャ」を参照してください。

構文

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 エンドポイントにアクセスするためのオプションのベアラー・トークン資格証明。

例: サブスクライブされたすべてのシェアプロバイダから使用可能なシェアを一覧表示します

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プロシージャによって作成された共有リンクを削除します。

詳細は、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ビュー」を参照してください。
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のタイプ。

使用法

フローは次のとおりです。

  1. 受信者は、DBMS_SHARE.GET_SHARING_IDをコールして一意の識別子を取得します。

  2. 受信者は、この識別子(電子メールなど)をプロバイダに送信します。

  3. プロバイダはDBMS_SHARE.CREATE_SHARE_RECIPIENTをコールし、識別子をsharing_idとして渡します。

  4. プロバイダは、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によって自動的にコールされることに注意してください。

詳細は、CREATE_BEARER_TOKEN_CREDENTIALプロシージャまたはCREATE_CREDENTIALSプロシージャおよびファンクションを参照してください。

構文

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によって作成された資格証明の属性を変更します。

詳細は、CREATE_BEARER_TOKEN_CREDENTIALプロシージャまたはCREATE_CREDENTIALSプロシージャおよびファンクションを参照してください。

構文

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