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

この表は、共有の消費に使用される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://<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ビューを参照してください。

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がコールされたデータベース内の任意の管理ユーザーに表示されます。
  • コンパートメント共有は、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つ以上の資格証明を更新します。このプロシージャは、スケジューラ・ジョブADP$BEARER_REFRESH_JOBによって自動的にコールされ、50分ごとに実行されます。

構文

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