共有プロデューサ・サブプログラムの概要

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

サブプログラム 説明
ADD_TO_SHAREプロシージャ 表またはビューを共有に追加します。
ASSERT_SHAREABLE_OBJECTプロシージャ オブジェクトが存在し、共有できる場合は、エラーなしで戻ります。
ASSERT_SHARING_IDプロシージャ 共有IDに対して基本検証チェックを実行し、正規形式で返します。
CAN_CREATE_SHAREファンクション この関数は、現在のスキーマが共有受信者を作成できるかどうかを確認します。
CAN_CREATE_SHARE_RECIPIENTファンクション この関数は、現在のスキーマが共有受信者を作成できるかどうかを確認します。
CLEAR_RECIPIENT_EVENTSプロシージャ 共有受信者イベントログからイベントをクリアします。
CLEAR_SHARE_EVENTSプロシージャ 共有イベントログからイベントをクリアします。
CREATE_BEARER_TOKEN_CREDENTIALプロシージャ デルタ共有プロバイダでの使用に適した資格証明を作成します。
CREATE_CLOUD_STORAGE_LINKプロシージャ 名前付きクラウド・ストレージURIリンクを作成します。
CREATE_OR_REPLACE_CLOUD_STORAGE_LINKプロシージャ 名前付きクラウド・ストレージURIを作成または置換します。
CREATE_OR_REPLACE_SHARE_RECIPIENTプロシージャ 共有受信者を作成または置換します。
CREATE_SHAREプロシージャ 名前付き共有オブジェクトを作成します。
CREATE_SHARE_RECIPIENTプロシージャ 新しい共有受信者を作成します。
DROP_CLOUD_STORAGE_LINKプロシージャ クラウド・ストレージ・リンクを削除します。
DROP_RECIPIENTプロシージャ 受信者を削除します。
DROP_SHAREプロシージャ 共有とそのすべてのコンテンツを削除します。
DROP_SHARE_LINK_VIEWプロシージャ CREATE_SHARE_LINK_VIEWプロシージャによって作成されたビューを削除します。
DROP_SHARE_VERSIONプロシージャ 単一の共有バージョンを削除します。
DROP_SHARE_VERSIONSプロシージャ 一連の共有バージョンを削除します。
DROP_UNUSED_SHARE_VERSIONSプロシージャ 現在使用されていないシェアバージョンを削除します。
ENABLE_SCHEMAプロシージャ 共有するスキーマを有効または無効にします。
GET_ACTIVATION_LINKファンクション 承認された受信者への電子メールへのリンクを生成します。
GET_PUBLISHED_IDENTITYファンクション SET_PUBLISHED_IDENTITYによって設定された現在のユーザーに関するデータを取得します。
GET_RECIPIENT_PROPERTYファンクション 受信者のプロパティの値を返します。
GET_SHARE_PROPERTYファンクション 既存のシェアのプロパティー値を取得します。
GET_SHARE_TABLE_PROPERTYファンクション 既存のシェアテーブルのプロパティー値を取得します。
GRANT_TO_RECIPIENTプロシージャ 特定の受信者にシェアに対するアクセス権を付与します。
POPULATE_SHARE_PROFILEプロシージャ 受取人のデルタ プロファイルを作成します。
PUBLISH_SHAREプロシージャ 共有を公開してすぐに戻ります。
PUBLISH_SHARE_WAITプロシージャ 共有を公開し、バックグラウンドジョブが完了するまで待機します。
PURGE_DETACHED_FILESプロシージャ シェアから切り離されたparquetファイルを削除または忘れます。
REMOVE_FROM_SHAREプロシージャ シェアからテーブルまたはビューを削除します。
RENAME_RECIPIENTプロシージャ 受信者の名前を変更します。
RENAME_SHAREプロシージャ 共有の名前を変更します。
RENAME_SHARE_LINKプロシージャ 登録済みの共有リンクの名前を変更します。
RENAME_SHARE_SCHEMAプロシージャ 共有スキーマの名前変更。
RENAME_SHARE_TABLEプロシージャ 共有表の名前を変更します。
REVOKE_FROM_RECIPIENTプロシージャ 特定の受信者からのシェアに対するアクセス権を取り消します。
SET_CURRENT_SHARE_VERSIONプロシージャ 現在のバージョンのシェアを変更します。
SET_PUBLISHED_IDENTITYプロシージャ 公開されたORACLE共有の受信者に提供される現在のユーザーに関するデータを設定します。
SET_RECIPIENT_LOG_LEVELプロシージャ 既存の共有受信者のログレベルを変更します。
SET_SHARE_LOG_LEVELプロシージャ 既存のシェアのログレベルを変更します。
SET_STORAGE_CREDENTIALプロシージャ 指定されたストレージのアクセス資格証明名を設定します。
STOP_JOBプロシージャ 実行中の共有ジョブを停止します。
UNPUBLISH_SHAREプロシージャ 共有を非公開にします。
UPDATE_DEFAULT_RECIPIENT_PROPERTYプロシージャ デフォルトの受取人プロパティ値を更新します。
UPDATE_DEFAULT_SHARE_PROPERTYプロシージャ デフォルトの共有プロパティー値を更新します。
UPDATE_RECIPIENT_PROPERTYプロシージャ 既存の受信者のプロパティを更新します。
UPDATE_SHARE_JOB_PROPERTYプロシージャ 実行中の共有ジョブのプロパティーを変更します。
UPDATE_SHARE_PROPERTYプロシージャ 既存のシェアのプロパティーを更新します。
UPDATE_SHARE_TABLE_PROPERTYプロシージャ 既存のシェアテーブルのプロパティー値を更新します。
VALIDATE_CREDENTIALファンクション 資格証明名を検証し、必要に応じて最初に正規形式に変換します。
VALIDATE_SHARE_STORAGEプロシージャ 指定されたストレージがバージョン管理されたシェアに適しているかどうかを確認します。
WAIT_FOR_JOBプロシージャ このプロシージャーは、指定された共有ジョブが完了するまで待機します。

ADD_TO_SHAREプロシージャ

表またはビューを共有に追加します。このオブジェクトは、シェアへのアクセス権が付与されているすべての外部ユーザーに表示されます。

構文

PROCEDURE ADD_TO_SHARE  
(
    share_name           IN VARCHAR2,
    table_name           IN VARCHAR2,
    owner                IN VARCHAR2 := NULL,
    share_table_name     IN VARCHAR2 := NULL,
    share_schema_name    IN VARCHAR2 := NULL,
    object_metadata      IN SYS.JSON_OBJECT_T := NULL,
    replace_existing     IN BOOLEAN := FALSE,
    share_owner          IN VARCHAR2 := NULL,
    auto_commit          IN BOOLEAN := FALSE  
);

パラメータ

パラメータ 説明
share_name オブジェクトが付与される既存のシェアの名前。
table_name 共有するエンティティの名前(表名やビュー名など)。
owner 共有するエンティティの所有者。デフォルトは現在のスキーマです。
share_table_name 表の外部表示名。デフォルトでは、これは大文字のtable_nameです。
share_schema_name 表が配置される外部に表示されるスキーマ。デフォルトでは、これは大文字の表所有者です。スキーマが存在しない場合は、自動的に作成されます。
object_metadata 共有エンティティに関連付けるオプションのメタデータ。
replace_existing TRUEで、このshare_table_nameがすでに存在する場合、既存のtable_nameはシェアから削除され、このtable_nameに置き換えられます。

FALSEで、このshare_table_nameがすでに存在する場合は、共有表がすでに使用されていることを示す例外が発生します。

share_owner シェアの所有者。
auto_commit TRUEの場合、このプロシージャ・コールは、コミットが実行されるまで外部に表示されない変更をコミットします。デフォルト値はFALSEです。つまり、ユーザーはこのコールを実行した後、変更を表示できるようにCOMMITする必要があります。

ASSERT_SHAREABLE_OBJECTプロシージャ

オブジェクトが存在し、共有できる場合は、エラーなしで戻ります。

構文

PROCEDURE ASSERT_SHAREABLE_OBJECT
(
  object_name          IN VARCHAR2,
  object_owner         IN VARCHAR2 := NULL
);

パラメータ

パラメータ 説明
object_name オブジェクトの名前。
object_owner オブジェクトの所有者。デフォルトは現在のスキーマです。

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です。

CAN_CREATE_SHAREファンクション

この関数は、現在のスキーマが共有受信者を作成できるかどうかを確認します。シェアを作成できる場合、1が返され、それ以外の場合は0が返されます。

構文

FUNCTION CAN_CREATE_SHARE
RETURN NUMBER;

例: 管理スキーマを有効にする前と後に

SQL> select dbms_share.can_create_share from dual;
 CAN_CREATE_SHARE
----------------
               0 
SQL> exec dbms_share.enable_schema('admin') 
PL/SQL procedure successfully completed. 
SQL> select dbms_share.can_create_share from dual; 
CAN_CREATE_SHARE
----------------
               1

CAN_CREATE_SHARE_RECIPIENTファンクション

この関数は、現在のスキーマが共有受信者を作成できるかどうかを確認します。シェアを作成できる場合は1が返され、それ以外の場合は0が返されます。

構文

FUNCTION CAN_CREATE_SHARE_RECIPIENT
RETURN NUMBER;

CLEAR_RECIPIENT_EVENTSプロシージャ

共有受信者イベントログからイベントをクリアします。

構文

PROCEDURE CLEAR_RECIPIENT_EVENTS 
(
   recipient_name       IN VARCHAR2,
   from_time            IN TIMESTAMP WITH TIME ZONE := NULL,
   to_time              IN TIMESTAMP WITH TIME ZONE := NULL,
   recipient_owner      IN VARCHAR2 := NULL 
);

パラメータ

パラメータ 説明
recipient_name 共有受信者のローカル名。
from_time クリアまたはNULLにするイベントの最早時間。
to_time クリアまたはNULLにするイベントの最新時間。
recipient_owner 受信者を所有するスキーマ。

CLEAR_SHARE_EVENTSプロシージャ

共有イベントログからイベントをクリアします。

構文

PROCEDURE CLEAR_SHARE_EVENTS 
(
    share_name           IN VARCHAR2,
    from_time            IN TIMESTAMP WITH TIME ZONE := NULL,
    to_time              IN TIMESTAMP WITH TIME ZONE := NULL,
    share_owner          IN VARCHAR2 := NULL 
);

パラメータ

パラメータ 説明
share_name 共有の名前。
from_time クリアまたはNULLにするイベントの最早時間。
to_time クリアまたはNULLにするイベントの最新時間。
share_owner シェアを所有するスキーマ。

CREATE_BEARER_TOKEN_CREDENTIALプロシージャ

デルタ共有プロバイダでの使用に適した資格証明を作成します。

これはCREATE_CREDENTIALSコールに似ていますが、デルタ共有プロファイルのかわりに明示的な値を使用します。詳細は、CREATE_CREDENTIALSプロシージャおよびファンクションを参照してください。

構文

PROCEDURE CREATE_BEARER_TOKEN_CREDENTIAL 
(
   credential_name      IN VARCHAR2,
   bearer_token         IN VARCHAR2 := NULL,
   token_endpoint       IN VARCHAR2 := NULL,
   client_id            IN VARCHAR2 := NULL,
   client_secret        IN VARCHAR2 := NULL,
   token_refresh_rate   IN PLS_INTEGER := 3600 
);

パラメータ

パラメータ 説明
credential_name 新しい資格証明の名前。
bearer_token 分かっているなら、
token_endpoint 新しいトークンを取得するためにコールするエンドポイント。
client_id token_endpointに送信するユーザー名。
client_secret token_endpointに送信するパスワード。
token_refresh_rate オプションのリフレッシュ時間(秒)。

例: 固定Bearerトークンを使用した資格証明

最も単純な形式では、このプロシージャは、ユーザー名'BEARER_TOKEN'およびベアラー・トークン自体をパスワードとしてDBMS_CREDENTIALをコールすることと同じです。

SQL> exec dbms_share.create_bearer_token_credential('MY_FIXED_CREDENTIAL', 'FF42322D27D4C2DEE05392644664351E')
PL/SQL procedure successfully completed. 
SQL> select username from user_credentials where credential_name = 'MY_FIXED_CREDENTIAL';
USERNAME
------------------------------------------------------------------------------------------------------------------------
BEARER_TOKEN

例: 更新可能なベアラー・トークンを使用した資格証明

トークン・エンドポイントから取得された短期ベアラー・トークンを含む資格証明を作成します。Bearerトークンは、クライアントIDおよびシークレットから移入された2番目の資格証明を使用して、1時間ごとに1回リフレッシュされます。

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    VXGQ_44s6qJ-K4WHUNM2yQ..

CREATE_CLOUD_STORAGE_LINKプロシージャ

名前付きクラウド・ストレージURIリンクを作成します。クラウド・ストレージ・リンクは、OCIバケットURIとローカル資格証明名間の名前付きアソシエーションです。

ノート

SET_STORAGE_CREDENTIALプロシージャを使用して、記憶域リンクに資格証明を追加します。

構文

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

パラメータ

この例では、指定されたURLにMY_SHARE_STORAGEという名前のクラウド・ストレージ・リンクが作成されます。

SQL> BEGIN
  2    dbms_share.create_cloud_storage_link(
  3      'MY_SHARE_STORAGE',
  4      'https://objectstorage.../n/abcdef/b/my_bucket/o' );
  5  END;
  6  /

PL/SQL procedure successfully completed.

SQL> select storage_link_name from user_lineage_cloud_storage_links;

STORAGE_LINK_NAME
----------------------------------------------------------------------------------------
MY_SHARE_STORAGE

CREATE_OR_REPLACE_CLOUD_STORAGE_LINKプロシージャ

名前付きクラウド・ストレージURIを作成または置換します。クラウド・ストレージ・リンクは、OCIバケットURIとローカル資格証明名間の名前付きアソシエーションです。

ノート

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_OR_REPLACE_SHARE_RECIPIENTプロシージャ

共有受信者を作成または置換します。少なくとも電子メール・アドレスまたは共有IDを指定する必要があります。

構文

PROCEDURE CREATE_OR_REPLACE_SHARE_RECIPIENT  
(
    recipient_name       IN VARCHAR2,
    description          IN VARCHAR2 := NULL,
    recipient_owner      IN VARCHAR2 := NULL,
    email                IN VARCHAR2 := NULL,
    sharing_id           IN VARCHAR2 := NULL  
);

パラメータ

パラメータ 説明
recipient_name 共有受信者のローカル名。一部の名前は使用できません(例: MY_TENANCY)。
description 受信者の説明。
recipient_owner 受信者を所有するスキーマ。
email OAUTHユーザーに対して登録されるEメール。
sharing_id GET_SHARING_IDファンクションからの受信者の共有ID。

CREATE_SHAREプロシージャ

名前付き共有オブジェクトを作成します。

構文

PROCEDURE CREATE_SHARE
(
  share_name           IN VARCHAR2,
  share_type           IN VARCHAR2 := SHARE_TYPE_VERSIONED,
  storage_link_name    IN VARCHAR2 := NULL,
  storage_link_owner   IN VARCHAR2 := NULL,
  description          IN VARCHAR2 := NULL,
  public_description   IN VARCHAR2 := NULL,
  configuration        IN SYS.JSON_OBJECT_T := NULL,
  force_create         IN BOOLEAN  := FALSE,
  share_owner          IN VARCHAR2 := NULL,
  auto_commit          IN BOOLEAN := FALSE,
  log_level            IN PLS_INTEGER := LOG_LEVEL_BASIC,
  run_storage_tests    IN BOOLEAN := TRUE
);

パラメータ

パラメータ 説明
share_name 共有の名前。デルタ共有では大文字と小文字が区別されないため、この名前は大文字になります。名前は標準のOracle規則に従っているため、128文字以下で、単純な識別子でない場合は二重引用符で囲む必要があります。唯一の違いは、二重引用符で囲まれていても大文字になることです。
share_type 共有のタイプ。このパラメータに使用される定数の詳細は、DBMS_SHARE定数共有タイプの説明を参照してください。
storage_link_name オブジェクトが作成されるクラウド・ストレージ・リンクの名前。ユーザーは、このストレージへの読取り/書込みアクセス権を持ち、ストレージに事前認証済リクエストを作成する機能を持っている必要があります。このパラメータはバージョン管理されたシェアの場合は必須で、現在のシェアの場合はオプションです。
storage_link_owner オブジェクトが作成されるクラウド・ストレージ・リンクの所有者。
description シェアのローカルな説明。
public_description シェアの公開説明。
configuration オブジェクトの作成方法を定義する構成ドキュメント。
force_create シェアが存在する場合は、そのシェアを再定義するには、force_createをTRUEに設定します。
share_owner シェアの所有者。
auto_commit TRUEの場合、このプロシージャ・コールは、コミットが実行されるまで外部に表示されない変更をコミットします。デフォルト値はFALSEです。つまり、ユーザーはこのコールを実行した後、変更を表示できるようにCOMMITする必要があります。
log_level イベント・ロギングのレベルこれにより、ALL_SHARE_EVENTSビューに記録される詳細の量が制御されます。For information on constants used for this parameter, see descriptions for Log Level in DBMS_SHARE Constants.
run_storage_tests このパラメータがTRUEの場合、DBMS_SHAREはテストを実行して、指定された共有記憶域リンクに正しい権限があることを確認します。

このパラメータがFALSEの場合、プロシージャは作成時にチェックを実行しません。これにより、シェアの公開中または消費中に、あとでエラーが発生する可能性があります。

Oracleでは、このパラメータにTRUEを指定することをお薦めします。

CREATE_SHARE_RECIPIENTプロシージャ

新しい共有受信者を作成します。

構文

PROCEDURE CREATE_SHARE_RECIPIENT  
(
    recipient_name       IN VARCHAR2,
    description          IN VARCHAR2 := NULL,
    recipient_owner      IN VARCHAR2 := NULL,
    email                IN VARCHAR2 := NULL,
    sharing_id           IN VARCHAR2 := NULL  
);

パラメータ

パラメータ 説明
recipient_name 共有受信者のローカル名。一部の名前は許可されません(例: MY_TENANCY)。
description 受信者の説明。
recipient_owner 受信者を所有するスキーマ。
email OAUTHユーザーに対して登録されるEメール。Eメールまたは共有IDを少なくとも1つ指定する必要があります。
sharing_id GET_SHARING_IDファンクションからの受信者の共有ID。Eメールまたは共有IDを少なくとも1つ指定する必要があります。

DROP_CLOUD_STORAGE_LINKプロシージャ

クラウド・ストレージ・リンクを削除します。

構文

PROCEDURE DROP_CLOUD_STORAGE_LINK  
(
    storage_link_name    IN VARCHAR2,
    owner                IN VARCHAR2 := NULL,
    auto_commit          IN BOOLEAN := TRUE  
);

パラメータ

DROP_RECIPIENTプロシージャ

受信者を削除します。受信者へのすべてのアクセスが取り消されます。

構文

PROCEDURE DROP_RECIPIENT  
(
    recipient_name       IN VARCHAR2,
    owner                IN VARCHAR2 := NULL  
);

パラメータ

パラメータ 説明
recipient_name 共有受信者の名前。
owner 受信者を定義するスキーマ。

DROP_SHAREプロシージャ

共有とそのすべてのコンテンツを削除します。消費者の将来のシェアへのアクセスは終了します。

構文

PROCEDURE DROP_SHARE
(
  share_name           IN VARCHAR2,
  share_owner          IN VARCHAR2 := NULL,
  destroy_objects      IN BOOLEAN := TRUE
);

パラメータ

パラメータ 説明
share_name 削除するシェアの名前。
share_owner ドロップするシェアの所有者。
destroy_objects TRUEの場合、シェアの代わりに作成されたすべてのオブジェクトを削除します。デフォルトはTRUEです。

DROP_SHARE_LINK_VIEWプロシージャ

CREATE_SHARE_LINK_VIEWプロシージャによって作成されたビューを削除します。

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

構文

PROCEDURE DROP_SHARE_LINK_VIEW  
(
    view_name            IN VARCHAR2,
    view_owner           IN VARCHAR2 := NULL  
);

パラメータ

DROP_SHARE_VERSIONプロシージャ

単一の共有バージョンを削除します。現在のバージョンは削除できません。

構文

PROCEDURE DROP_SHARE_VERSION  
(
    share_name           IN VARCHAR2,
    share_version        IN NUMBER,
    destroy_objects      IN BOOLEAN := TRUE,
    force_drop           IN BOOLEAN := FALSE,
    share_owner          IN VARCHAR2 := NULL  
);

パラメータ

パラメータ 説明
share_name 共有の名前。
share_version 削除するバージョン。現在のバージョンは削除できません。
destroy_objects 該当する場合は、クラウド・ストレージ内の関連オブジェクトを破棄します。
force_drop バージョンに未処理のPARファイルがある場合でも、共有バージョンを削除します。
share_owner シェアの所有者。

DROP_SHARE_VERSIONSプロシージャ

一連の共有バージョンを削除します。この手順を使用して現在のバージョンを削除することはできません。

構文

PROCEDURE DROP_SHARE_VERSIONS  
(
    share_name           IN VARCHAR2,
    from_share_version   IN NUMBER,
    to_share_version     IN NUMBER,
    destroy_objects      IN BOOLEAN := TRUE,
    force_drop           IN BOOLEAN := FALSE,
    share_owner          IN VARCHAR2 := NULL  
);

パラメータ

パラメータ 説明
share_name 共有の名前。
from_share_version 削除する最下位バージョン。
to_share_version 削除する最上位バージョン。
destroy_objects 該当する場合は、クラウド・ストレージ内の関連オブジェクトを破棄します。
force_drop バージョンに未処理のPARファイルがある場合でも、共有バージョンを削除します。
share_owner シェアの所有者。

DROP_UNUSED_SHARE_VERSIONSプロシージャ

現在使用されていないシェアバージョンを削除します。

構文

PROCEDURE DROP_UNUSED_SHARE_VERSIONS  
(
    share_name           IN VARCHAR2,
    destroy_objects      IN BOOLEAN := TRUE,
    share_owner          IN VARCHAR2 := NULL  
);

パラメータ

パラメータ 説明
share_name 共有の名前。
destroy_objects 該当する場合は、クラウド・ストレージ内の関連オブジェクトを破棄します。
share_owner シェアの所有者。

ENABLE_SCHEMAプロシージャ

共有するスキーマを有効または無効にします。このプロシージャは、ADMINユーザーが実行する必要があります。

構文

ユーザーは、この手順を有効にせずにデルタシェアを消費できますが、シェアを作成または公開することはできません。共有は、ADMINを含むすべてのスキーマに対してデフォルトで無効になっています。

PROCEDURE ENABLE_SCHEMA  
(
    schema_name          IN VARCHAR2,
    enabled              IN BOOLEAN := TRUE,
    privileges           IN PLS_INTEGER := NULL
);

パラメータ

パラメータ 説明
schema_name 有効化または無効化するスキーマ。
enable 有効にするにはTRUE、無効にするにはFALSE。
privileges 権限引数にはビットマップ値があります。引数をNULLのままにすると、デフォルトでPRIV_CREATE_SHARE + PRIV_CREATE_RECIPIENT + PRIV_CONSUME_ORACLE_SHAREになります。

ビットマップの値は次のとおりです。
  • PRIV_CREATE_SHARE
    ユーザーが自分のスキーマに公開共有を作成できるようにします。
    PRIV_CREATE_SHARE         CONSTANT PLS_INTEGER := 1;
  • PRIV_CREATE_RECIPIENT

    ユーザーが自分のスキーマで共有受信者を作成できるようにします。

    PRIV_CREATE_RECIPIENT     CONSTANT PLS_INTEGER := 2;
  • PRIV_CONSUME_ORACLE_SHARE

    ユーザーがOracleとOracleのライブ共有を使用できるようにします。

    PRIV_CONSUME_ORACLE_SHARE CONSTANT PLS_INTEGER := 4;
  • PRIV_ORDS_ACL

    ローカルORDSエンドポイントでユーザーにACLを付与します。これは、ユーザーがローカルに作成されたシェアでベアラートークンを生成するために必要です。

    PRIV_ORDS_ACL             CONSTANT PLS_INTEGER := 8;

GET_ACTIVATION_LINKファンクション

承認された受信者への電子メールへのリンクを生成します。このアクティブ化リンクは、受信者がボタンをクリックしてデルタ・プロファイルを取得するダウンロード・ページにつながります。

構文

FUNCTION GET_ACTIVATION_LINK
(
  recipient_name       IN VARCHAR2,
  recipient_owner      IN VARCHAR2 := NULL,
  expiration           IN PLS_INTEGER := 259200,
  invalidate_previous  IN BOOLEAN := TRUE
)
RETURN VARCHAR2;

パラメータ

例: 画面へのアクティブ化リンクの印刷

SQL> exec dbms_share.create_share_recipient('new_recipient', email=>'anyone@example.com')

PL/SQL procedure successfully completed.

SQL> column PROFILE format A200
SQL> variable sprof varchar2(32767)
SQL> declare
  2    profile sys.json_object_t;
  3  begin
  4    dbms_share.populate_share_profile('NEW_RECIPIENT', profile);
  5    :sprof := profile.to_string;
  6  end;
  7  /
PL/SQL procedure successfully completed.

SQL> exec dbms_output.put_line(dbms_share.get_activation_link('NEW_RECIPIENT'))
http://.../ords/_adpshr/delta-sharing/download?key=43BA....YXJlX3Rlc3Q= 

PL/SQL procedure successfully completed.

GET_PUBLISHED_IDENTITYファンクション

SET_PUBLISHED_IDENTITYによって設定された現在のユーザーに関するデータを取得します。

構文

FUNCTION GET_PUBLISHED_IDENTITY
  RETURN CLOB;

SQL> declare
  2    id_json json_object_t := json_object_t();
  3  begin
  4    id_json.put('name', 'Demo Publisher');
  5    id_json.put('description', 'Documentation Share Provider');
  6    id_json.put('contact', 'null@example.com');
  7    dbms_share.set_published_identity(id_json);
  8  end;
  9  /

PL/SQL procedure successfully completed.

SQL> select json_query(dbms_share.get_published_identity, '$' pretty) "Published Identity"
  2  from dual;

Published Identity-
-------------------------------------------------------------------------------
{
  "name" : "Demo Publisher",
  "description" : "Documentation Share Provider",
  "contact" : "null@example.com"
}

GET_RECIPIENT_PROPERTYファンクション

受信者のプロパティの値を返します。

構文

FUNCTION GET_RECIPIENT_PROPERTY
(
  recipient_name       IN VARCHAR2,
  recipient_property   IN VARCHAR2,
  recipient_owner      IN VARCHAR2 := NULL
)RETURN VARCHAR2;

パラメータ

パラメータ 説明
recipient_name 受信者の名前
recipient_property 取得するプロパティ。次のプロパティがあります。
  • PROP_SHARE_DESC
  • PROP_SHARE_PUBLIC_DESC
  • PROP_SHARE_VERSION_ACCESS
  • PROP_SHARE_JOB_NAME
  • PROP_SHARE_SPLIT_SIZE
  • PROP_SHARE_LOG_LEVEL
  • PROP_SHARE_JOB_DOP
  • PROP_SHARE_JOB_CLASS
  • PROP_SHARE_JOB_PRIORITY
  • PROP_SHARE_VERSION_ACCESS

このパラメータに使用される定数の詳細は、DBMS_SHARE定数共有プロパティの説明を参照してください。

recipient_owner 受信者の所有者。デフォルトは現在のユーザーです。

GET_SHARE_PROPERTYファンクション

既存のシェアのプロパティー値を取得します。

構文

FUNCTION GET_SHARE_PROPERTY
(
  share_name       IN VARCHAR2,
  share_property   IN VARCHAR2,
  share_owner      IN VARCHAR2 := NULL
)
RETURN VARCHAR2

パラメータ

パラメータ 説明
share_name 共有の名前。
share_property 取得するプロパティ値。このパラメータに使用される定数の詳細は、DBMS_SHARE定数共有プロパティの説明を参照してください。
share_owner シェアの所有者。デフォルトは現在のユーザーです。

GET_SHARE_TABLE_PROPERTYファンクション

既存のシェアテーブルのプロパティー値を取得します。

構文

FUNCTION GET_SHARE_TABLE_PROPERTY
(
  share_name           IN VARCHAR2,
  share_table_name     IN VARCHAR2,
  share_table_property IN VARCHAR2,
  share_schema_name    IN VARCHAR2 := NULL,
  share_owner          IN VARCHAR2 := NULL
)RETURN VARCHAR2;

パラメータ

パラメータ 説明
share_name 共有の名前。
share_table_name 共有表の名前。
share_table_property 更新する共有テーブルのプロパティー。このパラメータに使用される定数の詳細は、DBMS_SHARE定数表プロパティの共有の説明を参照してください。
share_schema_name 共有スキーマの名前。デフォルトでは、現在のユーザーは大文字です。
share_owner シェアの所有者。

GRANT_TO_RECIPIENTプロシージャ

特定の受信者にシェアに対するアクセス権を付与します。共有と受信者の両方が同じスキーマに属している必要があります。

構文

PROCEDURE GRANT_TO_RECIPIENT  
(
    share_name           IN VARCHAR2,
    recipient_name       IN VARCHAR2,
    owner                IN VARCHAR2 := NULL,
    auto_commit          IN BOOLEAN := FALSE  
);

パラメータ

パラメータ 説明
share_name 付与するシェアの名前。
recipient_name 受信者の名前
owner 共有と受信者の両方の所有者。
auto_commit auto_commitパラメータは無視されます。このプロシージャは常にコミットします。

POPULATE_SHARE_PROFILEプロシージャ

受取人のデルタ プロファイルを作成します。これを画面に印刷するか、どこかにアップロードできます。たとえば、DBMS_CLOUD.EXPORT_DATAを使用したオブジェクト・バケットに対してです。

構文

PROCEDURE POPULATE_SHARE_PROFILE  
(
    recipient_name       IN VARCHAR2,
    share_profile        IN OUT NOCOPY SYS.JSON_OBJECT_T,
    recipient_owner      IN VARCHAR2 := NULL  
);

パラメータ

パラメータ 説明
recipient_name 受信者のローカル名。
share_profile 共有プロファイル。ベアラー・トークンなし。
recipient_owner 受信者を所有するスキーマ。

例: プロファイルを画面に出力します。

SQL> EXEC DBMS_SHARE.CREATE_SHARE_RECIPIENT('new_recipient', email=>'anyone@example.com')
 
PL/SQL procedure successfully completed. 
SQL> column PROFILE format A200
SQL> variable sprof varchar2(32767)
SQL> declare
  2    profile sys.json_object_t;
  3  begin
  4    dbms_share.populate_share_profile('NEW_RECIPIENT', profile);
  5    :sprof := profile.to_string;
  6  end;
  7  /

PL/SQL procedure successfully completed. 

SQL> select json_query(:sprof, '$' pretty) "PROFILE" from dual;
PROFILE------------------------------------------------------------------------------------------------------------------------
{
  "shareCredentialsVersion" : 1,
  "endpoint" : "https://.../ords/share_test/_delta_sharing/",
  "bearerToken" : "mc7puvhqCpU6xjTOjRdl_w",
  "tokenEndpoint" : "https://.../ords/share_test/oauth/token",
  "clientID" : "VXGQ_44s6qJ-K4WHUNM2yQ..",
  "clientSecret" : "y9ddppgwEmZl7adDHFQndw.."
}

PUBLISH_SHAREプロシージャ

共有を公開してすぐに戻ります。

出版はバックグラウンドで続きます。USER_SHARE_JOBSビューの問合せにより、ジョブのステータスを確認できます。詳細は、USER_SHARE_JOBSビューを参照してください。

構文

PROCEDURE PUBLISH_SHARE  
(
    share_name           IN VARCHAR2,
    share_owner          IN VARCHAR2 := NULL,
    drop_prior_versions  IN BOOLEAN := FALSE,
    share_job_dop        IN NUMBER := NULL,
    share_job_priority   IN NUMBER := NULL,
    job_class            IN VARCHAR2 := 'DEFAULT_JOB_CLASS',
    force_job_class      IN BOOLEAN := FALSE  
);

パラメータ

パラメータ 説明
share_name パブリッシュするシェアの名前。
share_owner シェアの所有者。現在のユーザーまたはNULLである必要があります。
drop_prior_versions シェアの以前のバージョンをすべて削除する場合は、TRUEに設定します。バージョンは、未処理の事前認証済リクエスト(PAR)がない場合にのみ削除されることに注意してください。
share_job_dop 共有の公開に使用されるdbms_schedulerジョブの最大数を指定します。システムのデフォルト番号を使用するには、NULLのままにします。
share_job_priority このシェアパブリケーションの相対的な優先順位を他のシェアパブリケーションと比較するように指定します。2つのシェアを同時に公開する場合、優先順位がもっとも高い共有は、あとで開始された場合でも最初に処理されます。
job_class シェアの公開に使用される、all_scheduler_job_classesからのスケジューラジョブクラス。
force_job_class 管理者が別のデフォルト・ジョブ・クラスを定義している場合でも、指定されたjob_classを使用します。

PUBLISH_SHARE_WAITプロシージャ

共有を公開し、バックグラウンドジョブが完了するまで待機します。パブリケーションは、コールが中断された場合でも続行されます。

構文

PROCEDURE PUBLISH_SHARE_WAIT  
(
       share_name           IN VARCHAR2,
       share_owner          IN VARCHAR2 := NULL,
       drop_prior_versions  IN BOOLEAN := FALSE,
       share_job_dop        IN NUMBER := NULL,
       share_job_priority   IN NUMBER := NULL,
       job_class            IN VARCHAR2 := 'DEFAULT_JOB_CLASS',
       force_job_class      IN BOOLEAN := FALSE  
);

パラメータ

パラメータ 説明
share_name パブリッシュするシェアの名前。
share_owner シェアの所有者。現在のユーザーまたはNULLである必要があります。
drop_prior_versions シェアの以前のバージョンをすべて削除する場合は、TRUEに設定します。バージョンは、未処理の事前認証済リクエスト(PAR)がない場合にのみ削除されることに注意してください。
share_job_dop 共有の公開に使用されるdbms_schedulerジョブの最大数を指定します。システムのデフォルト番号を使用するには、NULLのままにします。
share_job_priority このシェアパブリケーションの相対的な優先順位を他のシェアパブリケーションと比較するように指定します。2つのシェアを同時に公開する場合、優先順位がもっとも高い共有は、あとで開始された場合でも最初に処理されます。
job_class シェアの公開に使用される、all_scheduler_job_classesからのスケジューラジョブクラス。
force_job_class 管理者が別のデフォルト・ジョブ・クラスを定義している場合でも、指定されたjob_classを使用します。

PURGE_DETACHED_FILESプロシージャ

シェアから切り離されたparquetファイルを削除または忘れます。

構文

PROCEDURE PURGE_DETACHED_FILES  
(
    file_pattern         IN VARCHAR2 := '%',
    credential_name      IN VARCHAR2 := NULL,
    purge_mode           IN PLS_INTEGER := PURGE_DROP,
    owner_id             IN NUMBER := SYS_CONTEXT('USERENV', 'CURRENT_USERID')  
);

パージ・ジョブのID(ある場合)を返すPURGE_DETACHED_FILESのバージョン。

PROCEDURE PURGE_DETACHED_FILES  
(
    purge_job_id         IN OUT NOCOPY NUMBER,
    file_pattern         IN VARCHAR2 := '%',
    credential_name      IN VARCHAR2 := NULL,
    purge_mode           IN PLS_INTEGER := PURGE_DROP,
    owner_id             IN NUMBER := SYS_CONTEXT('USERENV', 'CURRENT_USERID')  
);

パラメータ

パラメータ 説明
purge_job_id パージ・ジョブID。
file_pattern パージするファイルのオプションのLIKEパターン。
credential_name ファイルの削除に使用するオプションの資格証明。
purge_mode ファイルのパージ方法を指定します。パージ・モードの値は次のとおりです。
  • PURGE_DROP
    指定された資格証明を使用してファイルを削除しようとしました。ファイルを削除できない場合、ファイルは引き続き*_SHARE_DETACHED_FILESビューにリストされます。
    PURGE_DROP             CONSTANT PLS_INTEGER := 1;
  • PURGE_DROP_FORCE
    指定された資格証明を使用してファイルを削除しようとしました。ファイルの削除が再度失敗した場合でも、ファイルは*_SHARE_DETACHED_FILESビューから削除されます。
    PURGE_DROP_FORCE       CONSTANT PLS_INTEGER := 2;
  • PURGE_FORGET
    ファイル*_SHARE_DETACHED_FILESビューを削除せずに削除します。
    PURGE_FORGET           CONSTANT PLS_INTEGER := 3;
owner_id ファイルをパージする所有者ID。

REMOVE_FROM_SHAREプロシージャ

シェアからテーブルまたはビューを削除します。

構文

PROCEDURE REMOVE_FROM_SHARE  
(
    share_name           IN VARCHAR2,
    share_table_name     IN VARCHAR2,
    share_schema_name    IN VARCHAR2 := NULL,
    share_owner          IN VARCHAR2 := NULL,
    auto_commit          IN BOOLEAN := FALSE  
);

パラメータ

パラメータ 説明
share_name オブジェクトが取り消される既存のシェアの名前。
share_table_name 取り消す共有表の名前。これは外部に表示される名前と一致する必要があるため、入力は大文字になります。
share_schema_name 共有スキーマの名前。デフォルトでは、現在のユーザーは大文字です。
share_owner シェアの所有者。
auto_commit TRUEの場合、このプロシージャ・コールは、コミットが実行されるまで外部に表示されない変更をコミットします。デフォルト値はFALSEです。つまり、ユーザーはこのコールを実行した後、変更を表示できるようにCOMMITする必要があります。

RENAME_RECIPIENTプロシージャ

受信者の名前を変更します。この手順では、受信者のローカル名のみを変更します。OAUTHユーザーの名前や共有IDなど、受信者の外部定義は変更されません。

構文

PROCEDURE RENAME_RECIPIENT  
(
    old_recipient_name   IN VARCHAR2,
    new_recipient_name   IN VARCHAR2,
    owner                IN VARCHAR2 := NULL,
    auto_commit          IN BOOLEAN := TRUE  
);

パラメータ

パラメータ 説明
old_recipient_name 共有受信者の現在の名前。
new_recipient_name 共有受信者の新しい名前。
owner 受信者を定義するスキーマ。
auto_commit TRUEの場合、変更は自動的にコミットされます。変更は、コミットが実行されるまで外部からは表示されません。デフォルトはTRUEです。

RENAME_SHAREプロシージャ

共有の名前を変更します。変更は、以前の名前に基づくアクセス権を持つ既存のコンシューマに影響するため、この手順に注意してください。消費者に直接通知したり更新したりすることはありません。

構文

PROCEDURE RENAME_SHARE  
(
    old_share_name       IN VARCHAR2,
    new_share_name       IN VARCHAR2,
    share_owner          IN VARCHAR2 := NULL,
    auto_commit          IN BOOLEAN := TRUE  
);

パラメータ

パラメータ 説明
old_share_name シェアの現在の名前。
new_share_name シェアの新しい名前。
share_owner シェアの所有者。
auto_commit TRUEの場合、変更は自動的にコミットされます。変更は、コミットが実行されるまで外部からは表示されません。デフォルトはTRUEです。

RENAME_SHARE_LINKプロシージャ

登録済みの共有リンクの名前を変更します。

構文

PROCEDURE RENAME_SHARE_LINK  
(
    old_name             IN VARCHAR2,
    new_name             IN VARCHAR2,
    link_owner           IN VARCHAR2 := NULL  
);

パラメータ

RENAME_SHARE_SCHEMAプロシージャ

共有スキーマの名前変更。

構文

PROCEDURE RENAME_SHARE_SCHEMA  
(
    share_name           IN VARCHAR2,
    old_schema_name      IN VARCHAR2,
    new_schema_name      IN VARCHAR2,
    share_owner          IN VARCHAR2 := NULL,
    auto_commit          IN BOOLEAN := FALSE  
);

パラメータ

パラメータ 説明
share_name 共有の名前。
old_schema_name スキーマの古い名前。
new_schema_name スキーマの新しい名前。
share_owner シェアの所有者。デフォルトは、現行のスキーマです。
auto_commit TRUEの場合、変更は自動的にコミットされます。変更は、コミットが実行されるまで外部からは表示されません。デフォルトはFALSE。

RENAME_SHARE_TABLEプロシージャ

共有表の名前を変更します。

構文

PROCEDURE RENAME_SHARE_TABLE  
(
    share_name           IN VARCHAR2,
    share_schema_name    IN VARCHAR2,
    old_share_table_name IN VARCHAR2,
    new_share_table_name IN VARCHAR2,
    share_owner          IN VARCHAR2 := NULL,
    auto_commit          IN BOOLEAN := FALSE  
);

パラメータ

パラメータ 説明
share_name 共有の名前。
share_schema_name 共有スキーマの名前。
old_share_table_name 共有テーブルの古い名前。
new_share_table_name 共有テーブルの新しい名前。
share_owner シェアの所有者。
auto_commit TRUEの場合、変更は自動的にコミットされます。変更は、コミットが実行されるまで外部からは表示されません。デフォルトはFALSE。

REVOKE_FROM_RECIPIENTプロシージャ

特定の受信者からのシェアに対するアクセス権を取り消します。

構文

PROCEDURE REVOKE_FROM_RECIPIENT  
(
    share_name           IN VARCHAR2,
    recipient_name       IN VARCHAR2,
    owner                IN VARCHAR2 := NULL,
    auto_commit          IN BOOLEAN := FALSE  
);

パラメータ

パラメータ 説明
share_name 取り消すシェアの名前。
recipient_name 受信者の名前
owner シェアおよび受信者の所有者。
auto_commit TRUEの場合、変更は自動的にコミットされます。変更は、コミットが実行されるまで外部からは表示されません。デフォルトはFALSE。

SET_CURRENT_SHARE_VERSIONプロシージャ

現在のバージョンのシェアを変更します。

構文

PROCEDURE SET_CURRENT_SHARE_VERSION  
(
    share_name         IN VARCHAR2,
    share_version      IN NUMBER,
    share_owner        IN VARCHAR2 := NULL  
);

パラメータ

パラメータ 説明
share_name 共有の名前。
share_version 新しいバージョンまたはNULL。バージョンが存在し、有効である必要があります。share_versionがNULLの場合、バージョンはCURRENTとしてマークされず、共有は未公開になります。
share_owner シェアの所有者。デフォルトは、現行のスキーマです。

SET_PUBLISHED_IDENTITYプロシージャ

公開されたORACLE共有の受信者に提供される現在のユーザーに関するデータを設定します。

構文

PROCEDURE SET_PUBLISHED_IDENTITY  
(
    metadata             IN SYS.JSON_OBJECT_T := NULL  
);

パラメータ

パラメータ 説明
metadata プロバイダ・アイデンティティがすでに設定されている場合は、コール元が更新するアイテムのみをJSONに含める必要があります。アイテムにNULL値を指定すると、そのアイテムは格納されたアイデンティティから削除されます。ただし、「name」、「description」および「contact」はこの方法で削除できません。

メタデータ引数がNULLの場合、既存のプロバイダ・アイデンティティは削除されます。これは、現在のユーザーに公開されている共有がない場合にのみ発生します。

プロバイダ・アイデンティティがまだ設定されていない場合、JSONには少なくとも次のものが含まれている必要があります:
  • 名前(128バイト未満)
  • 説明(4000バイト未満)
  • コンタクト(4000バイト未満)の値

追加の項目は、発信者の判断で含めることができます。

例: JSONメタデータに追加アイテムを含める

必須のname、descriptionおよびcontactに加えて、この例には追加アイテムscheduleが含まれています。
{
  "name" : "A sample share provider",
  "description" : "Test of share provider metadata",
  "contact" : "provider1@example.com".
  "schedule" : "New data provided on alternate rainy Fridays"
}

例: "description"を更新して"schedule"を削除

「説明」を更新して「スケジュール」を削除するには、次のJSONを使用できます。
{
  "description" : "The Share Provider You Can Trust!(tm)",
  "schedule" : null
}

SET_RECIPIENT_LOG_LEVELプロシージャ

既存の共有受信者のログレベルを変更します。

構文

PROCEDURE SET_RECIPIENT_LOG_LEVEL
(
  recipient_name       IN VARCHAR2,
  log_level            IN PLS_INTEGER,
  recipient_owner      IN VARCHAR2 := NULL
);

パラメータ

パラメータ 説明
recipient_name 共有受信者のローカル名。
log_level イベント・ロギングのレベルFor information on constants used for this parameter, see descriptions for Log Level in DBMS_SHARE Constants.
recipient_owner 受信者を所有するスキーマ。

SET_SHARE_LOG_LEVELプロシージャ

既存のシェアのログレベルを変更します。

構文

PROCEDURE SET_SHARE_LOG_LEVEL
(
  share_name           IN VARCHAR2,
  log_level            IN PLS_INTEGER,
  share_owner          IN VARCHAR2 := NULL
);

パラメータ

パラメータ 説明
share_name 共有の名前。
log_level イベント・ロギングのレベルFor information on constants used for this parameter, see descriptions for Log Level in DBMS_SHARE Constants.
share_owner シェアの所有者。

SET_STORAGE_CREDENTIALプロシージャ

現在のユーザーが特定のストレージへのアクセスを試行するときに使用する資格証明名を設定します。

構文

PROCEDURE SET_STORAGE_CREDENTIAL  
(
    storage_link_name    IN VARCHAR2,
    credential_name      IN VARCHAR2,
    owner                IN VARCHAR2 := NULL,
    check_if_exists      IN BOOLEAN := TRUE,
    auto_commit          IN BOOLEAN := TRUE  
);

パラメータ

STOP_JOBプロシージャ

実行中の共有ジョブを停止しようとしています。プロシージャはすぐに戻りますが、関連するジョブの停止には時間がかかる場合があります。

構文

PROCEDURE STOP_JOB
(
  share_job_id         IN NUMBER,
  share_job_owner      IN VARCHAR2 := NULL
);

パラメータ

パラメータ 説明
share_job_id 共有ジョブのID。
share_job_owner ジョブの所有者デフォルトは、現行のスキーマです。

UNPUBLISH_SHAREプロシージャ

共有を非公開にします。

構文

PROCEDURE UNPUBLISH_SHARE  
(
    share_name           IN VARCHAR2,
    out_share_job_id     IN OUT NOCOPY NUMBER,
    share_owner          IN VARCHAR2 := NULL,
    drop_all_versions    IN BOOLEAN := FALSE,
    restart_versions     IN BOOLEAN := FALSE  
);

パラメータ

パラメータ 説明
share_name 共有の名前。
out_share_job_id このコマンドを処理するために実行する必要がある共有ジョブのID。
share_owner シェアの所有者。デフォルトは、現行のスキーマです。
drop_all_versions TRUEに設定すると、既存のすべてのバージョンと関連するすべてのストレージが削除されます。

drop_all_versionsがFALSEの場合、既存のすべてのバージョンが引き続き存在しますが、共有は受信者に表示されません。その後、PUBLISH_SHAREまたはSET_CURRENT_SHARE_VERSIONをコールすると、再度表示されます。

restart_versions バージョン番号付けを再開します。FALSEの場合、次に公開されるバージョン番号は、バージョンが削除されていない場合と同じになります。

TRUEの場合、次に公開されるバージョンは、最も高い既存バージョンよりも1つ以上に設定されます。drop_all_versionsとともに使用すると、シェアを元の状態にリセットすることになります。これは、既存のデルタ・クライアントを混乱させる可能性があるため、慎重に使用してください。

UPDATE_DEFAULT_RECIPIENT_PROPERTYプロシージャ

デフォルトの受取人プロパティ値を更新します。この手順では、ユーザーが管理権限を持っている必要があります。

構文

PROCEDURE UPDATE_DEFAULT_RECIPIENT_PROPERTY
(
  recipient_property   IN VARCHAR2,
  new_value_vc         IN VARCHAR2
);

パラメータ

パラメータ 説明
recipient_property 更新するプロパティ。このパラメータに使用される定数の詳細は、DBMS_SHARE定数受信者のプロパティの共有の説明を参照してください。
new_value_vc 新しいプロパティ値。

UPDATE_DEFAULT_SHARE_PROPERTYプロシージャ

デフォルトの共有プロパティー値を更新します。

構文

PROCEDURE UPDATE_DEFAULT_SHARE_PROPERTY  
(
    share_property       IN VARCHAR2,
    new_value            IN VARCHAR2  
);

パラメータ

パラメータ 説明
share_property 更新するプロパティ。このパラメータに使用される定数の詳細は、DBMS_SHARE定数共有プロパティの説明を参照してください。

これらのプロパティは、ALL_SHARE_DEFAULT_SETTINGSビューを使用して読み取ることができます。

new_value 新しいプロパティ値。

UPDATE_RECIPIENT_PROPERTYプロシージャ

既存の受信者のプロパティを更新します。

構文

PROCEDURE UPDATE_RECIPIENT_PROPERTY  
(
    recipient_name       IN VARCHAR2,
    recipient_property   IN VARCHAR2,
    new_value            IN VARCHAR2,
    recipient_owner      IN VARCHAR2 := NULL  
);

パラメータ

パラメータ 説明
recipient_name 受信者の名前
recipient_property 更新するプロパティ。次のプロパティがあります。
  • PROP_RECIPIENT_EMAIL
  • PROP_RECIPIENT_DESCRIPTION
  • PROP_RECIPIENT_LOG_LEVEL
  • PROP_RECIPIENT_SHARING_ID
  • PROP_RECIPIENT_PROFILE_URL
  • PROP_RECIPIENT_PAR_TYPE
  • PROP_RECIPIENT_MIN_PAR_LIFETIME
  • PROP_RECIPIENT_PAR_LIFETIME
  • PROP_RECIPIENT_TOKEN_LIFETIME
このパラメータに使用される定数の詳細は、DBMS_SHARE定数「受信者の共有プロパティ」の説明を参照してください。
new_value 新しいプロパティ値。
recipient_owner 受信者の所有者。デフォルトは、現行のスキーマです。

UPDATE_SHARE_JOB_PROPERTYプロシージャ

実行中の共有ジョブのプロパティーを変更します。プロシージャはすぐに戻りますが、変更が有効になるまでに時間がかかる場合があります。

構文

PROCEDURE UPDATE_SHARE_JOB_PROPERTY  
(
    share_job_id         IN NUMBER,
    share_property       IN VARCHAR2,
    new_value            IN VARCHAR2,
    share_job_owner      IN VARCHAR2 := NULL  
);

パラメータ

パラメータ 説明
share_job_id 共有ジョブのID。
share_property 更新するプロパティ。このパラメータに使用される定数の詳細は、DBMS_SHARE定数ジョブ・プロパティの共有の説明を参照してください。
new_value 新しいプロパティ値。
share_job_owner ジョブの所有者デフォルトは、現行のスキーマです。

UPDATE_SHARE_PROPERTYプロシージャ

既存のシェアのプロパティーを更新します。

構文

PROCEDURE UPDATE_SHARE_PROPERTY  
(
    share_name           IN VARCHAR2,
    share_property       IN VARCHAR2,
    new_value            IN VARCHAR2,
    share_owner          IN VARCHAR2 := NULL,
    auto_commit          IN BOOLEAN := TRUE  
);

パラメータ

パラメータ 説明
share_name 共有の名前。
share_property 更新するプロパティ。このパラメータに使用される定数の詳細は、DBMS_SHARE定数共有プロパティの説明を参照してください。
new_value 新しいプロパティ値。
share_owner シェアの所有者。デフォルトは、現行のスキーマです。
Auto_commit TRUE (デフォルト)の場合、変更は自動的にコミットされます。FALSEの場合、ユーザーは変更をコミットする必要があります。変更は、コミットの実行後に外部から表示されます。

UPDATE_SHARE_TABLE_PROPERTYプロシージャ

既存のシェアテーブルのプロパティー値を更新します。

構文

PROCEDURE UPDATE_SHARE_TABLE_PROPERTY  
(
    share_name           IN VARCHAR2,
    share_table_name     IN VARCHAR2,
    share_table_property IN VARCHAR2,
    new_value            IN VARCHAR2,
    share_schema_name    IN VARCHAR2 := NULL,
    share_owner          IN VARCHAR2 := NULL,
    auto_commit          IN BOOLEAN := TRUE  
);

パラメータ

パラメータ 説明
share_name 共有の名前。
share_table_name 共有表の名前。
share_table_property 更新するプロパティ。次のプロパティがあります。
  • PROP_SHARE_TABLE_SPLIT_METHOD
  • PROP_SHARE_TABLE_SPLIT_COLUMNS
  • PROP_SHARE_TABLE_ORDER_COLUMNS
  • PROP_SHARE_TABLE_SHARE_COLUMNS
  • PROP_SHARE_TABLE_SPLIT_SIZE
  • PROP_SHARE_TABLE_GATHER_STATS
  • PROP_SHARE_TABLE_SPLIT_ROWS
  • PROP_SHARE_TABLE_FLASHBACK
new_value 新しいプロパティ値。
share_schema_name シェアスキーマの名前(デフォルトは現在のユーザーの大文字)。
share_owner シェアの所有者。デフォルトは、現行のスキーマです。
Auto_commit TRUE (デフォルト)の場合、変更は自動的にコミットされます。FALSEの場合、ユーザーは変更をコミットする必要があります。変更は、コミットの実行後に外部から表示されます。

VALIDATE_CREDENTIALファンクション

資格証明名を検証し、必要に応じて最初に正規形式に変換します。

名前が有効なOracle識別子でない場合は、プロシージャによって例外が発生します。USER_CREDENTIALSビューのCREDENTIAL_NAME列に表示されるように、credential_nameは二重引用符なしで返されます。

構文

FUNCTION VALIDATE_CREDENTIAL  
(
        credential_name      IN VARCHAR2,
        check_if_exists      IN BOOLEAN := TRUE  
)  
RETURN VARCHAR2;

パラメータ

パラメータ 説明
credential_name 標準データベース・フォームで検証する資格証明の名前。名前が単純な識別子でない場合は二重引用符で囲みます。
check_if_exists TRUEの場合、ファンクションは、現行のユーザーの資格証明が存在することも確認します。

VALIDATE_SHARE_STORAGEプロシージャ

指定されたストレージがバージョン管理されたシェアに適しているかどうかを確認します。

構文

validation_results出力パラメータを含むプロシージャ構文。

 PROCEDURE VALIDATE_SHARE_STORAGE  
(
    storage_link_name    IN VARCHAR2,
    validation_results   IN OUT NOCOPY VARCHAR2,
    run_storage_tests    IN BOOLEAN := TRUE,
    storage_link_owner   IN VARCHAR2 := NULL  
);

validation_results出力パラメータを含まないプロシージャ構文。

PROCEDURE VALIDATE_SHARE_STORAGE  
(
    storage_link_name    IN VARCHAR2,
    run_storage_tests    IN BOOLEAN := TRUE,
    storage_link_owner   IN VARCHAR2 := NULL  
);

パラメータ

パラメータ 説明
storage_link_name クラウド・ストレージ・リンク名。
validation_results (オプションの入出力)検証結果の詳細がJSON形式で返されます。

validation_resultsには、個別のテストごとに結果が含まれます。

run_storage_tests テストを実行してストレージを検証します。TRUE (デフォルト)の場合、プロシージャはREAD、WRITE、DELETEおよびPREAUTHENTICATED REQUESTSをテストします。
storage_link_owner クラウド・ストレージ・リンクの所有者。

例: 検証結果

{
  "READ":"PASSSED",
  "WRITE":"PASSSED",
  "CREATE_PAR":"PASSSED",
  "DELETE_PAR":"PASSSED",
  "DELETE":"PASSSED"
}

WAIT_FOR_JOBプロシージャ

このプロシージャーは、指定された共有ジョブが完了するまで待機します。

構文

PROCEDURE WAIT_FOR_JOB  
(
    share_job_id         IN NUMBER,
    completed            IN OUT NOCOPY BOOLEAN,
    maximum_wait         IN NUMBER := NULL  
);

パラメータ

パラメータ 説明
share_job_id 共有ジョブのID。
completed ジョブ完了インジケータ。
maximum_wait 最大待機時間(秒)。NULL値は制限がないことを意味します。