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

この表は、共有の消費に使用される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が明らかに無効な場合は例外が発生します。

構文

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形式のデルタ共有プロファイル。
{
  "shareCredentialsVersion": 1,
  "endpoint": "https://<endpoint>",
  "bearerToken": "<token>",
  "expirationTime": "...",
}
プロファイルには、オプションでtokenEndpointプロパティをclientIDおよびclientSecretとともに含めることもできます。
{
  "shareCredentialsVersion": 1,
  "endpoint": "https://<endpoint>",
  "bearerToken": "<token>",
  "expirationTime": "...",
  "tokenEndpoint": "https://<token endpoint>",
  "clientID": "<client id>",
  "clientSecret": "<client secret>"
}

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

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  
);

パラメータ

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  
);

パラメータ

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  
);

パラメータ

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  
);

パラメータ

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

詳細は、CREATE_SHARE_LINKプロシージャを参照してください。

構文

PROCEDURE DROP_SHARE_LINK  
(
    link_name            IN VARCHAR2,
    link_owner           IN VARCHAR2 := 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  
);

パラメータ

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;

パラメータ

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;

パラメータ

戻り

戻り値は、スキーマ、表および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  
);

パラメータ

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のタイプ。

使用方法

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

  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によって自動的にコールされることに注意してください。

構文

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  
);

パラメータ

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  
);

パラメータ

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