共有プロデューサ・サブプログラムの概要
この表は、受信者の共有を生成するために使用される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_DELTA_SHARE_PROVIDERプロシージャ | デルタ共有プロファイルによって定義されたデルタ共有プロバイダをサブスクライブします。 |
| CREATE_OR_REPLACE_CLOUD_STORAGE_LINKプロシージャ | 指定されたクラウドストレージURIを作成または置き換えます。 |
| CREATE_OR_REPLACE_DELTA_SHARE_PROVIDERプロシージャ | デルタ共有プロファイルによって定義されたデルタ共有プロバイダをサブスクライブまたは再サブスクライブします。 |
| 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プロシージャ | 共有するスキーマを有効または無効にします。 |
| GENERATE_SHARE_PROFILEファンクション | デルタ共有プロファイルを生成し、CLOBとして返します。 |
| 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_DELTA_PROFILEプロシージャ | デルタ共有プロファイルがサポートされているJSON形式のいずれかであるかどうかを確認します。 |
| 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;例: adminスキーマの有効化前と有効化後
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
----------------
1CAN_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
token_scope IN VARCHAR2 := NULL
grant_type IN VARCHAR2 :=
'client_credentials'
);パラメータ
| パラメータ | 摘要 |
|---|---|
credential_name |
新しい資格証明の名前。 |
bearer_token |
ベアラー・トークン(わかっている場合)。 |
token_endpoint |
新規トークンを取得するためにコールするエンドポイント。 |
client_id |
token_endpointに送信するユーザー名。 |
client_secret |
token_endpointに送信するパスワード。 |
token_refresh_rate |
オプションのリフレッシュ時間(秒)。 |
token_scope |
トークンのアクセス・レベルのオプション指定。 |
grant_type |
トークンの取得に使用されるオプションのメソッド。 |
例: 固定ベアラー・トークンを持つ資格証明
最も単純な形式では、このプロシージャは、ユーザー名が'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
);パラメータ
| パラメータ | 摘要 |
|---|---|
storage_link_name |
クラウド・ストレージ・リンクの名前です。リンクの名前は、標準のOracleネーミング規則に従う必要があります。 |
uri |
ストレージ・バケットのURI。URIの形式はhttps://objectstorage.region.oraclecloud.com/n/namespace-string/b/bucket/oである必要があります |
owner |
ストレージリンクの所有者。現在のユーザーの場合はNULLのままにします。 |
metadata |
(オプション)追加情報を含むJSONメタデータ・ドキュメント。 |
auto_commit |
デフォルトはTRUEです。TRUEの場合、このトランザクションはコミットされます。FALSEの場合、ユーザーはトランザクションをコミットする必要があります。コミットが実行されるまで、変更は表示されません。 |
例
この例では、指定された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_STORAGECREATE_DELTA_SHARE_PROVIDERプロシージャ
デルタ共有プロファイルによって定義されたデルタ共有プロバイダをサブスクライブします。
構文
PROCEDURE CREATE_DELTA_SHARE_PROVIDER
(
provider_name IN VARCHAR2,
delta_profile IN CLOB,
owner IN VARCHAR2 := NULL,
metadata IN SYS.JSON_OBJECT_T := NULL,
create_credentials IN BOOLEAN := TRUE,
auto_commit IN BOOLEAN := TRUE
);パラメータ
| パラメータ | 摘要 |
|---|---|
provider_name |
新しくサブスクライブされたデルタ共有プロバイダの名前。 |
delta_profile |
CLOB形式のデルタ共有プロファイル。サポートされている形式については、VALIDATE_DELTA_PROFILEを参照してください。 |
owner |
プロバイダをサブスクライブしているユーザー。デフォルトは現在のスキーマです。 |
metadata |
プロバイダをサブスクライブしているユーザー。デフォルトは現在のスキーマです。 |
create_credentials |
TRUEの場合、資格証明はデルタ・プロファイルから作成され、プロバイダに関連付けられます。FALSEの場合、資格証明は個別に作成する必要があります。 |
auto_commit |
シェアの公開説明。 |
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
);パラメータ
| パラメータ | 摘要 |
|---|---|
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_OR_REPLACE_DELTA_SHARE_PROVIDERプロシージャ
デルタ共有プロファイルによって定義されたデルタ共有プロバイダをサブスクライブまたは再サブスクライブします。
構文
PROCEDURE CREATE_OR_REPLACE_DELTA_SHARE_PROVIDER
(
provider_name IN VARCHAR2,
delta_profile IN CLOB,
owner IN VARCHAR2 := NULL,
metadata IN SYS.JSON_OBJECT_T := NULL,
create_credentials IN BOOLEAN := TRUE,
auto_commit IN BOOLEAN := TRUE
);パラメータ
| パラメータ | 摘要 |
|---|---|
provider_name |
新しくサブスクライブされたデルタ共有プロバイダの名前。 |
delta_profile |
CLOB形式のデルタ共有プロファイル。サポートされている形式については、VALIDATE_DELTA_PROFILEを参照してください。 |
owner |
プロバイダをサブスクライブしているユーザー。デフォルトは現在のスキーマです。 |
metadata |
(オプション)プロバイダに関連付けるJSONメタデータ。 |
create_credentials |
TRUEの場合、資格証明はデルタ・プロファイルから作成され、プロバイダに関連付けられます。プロバイダの既存の資格証明は削除され、再作成されます。FALSEの場合、資格証明は個別に作成する必要があります。 |
auto_commit |
TRUEの場合、変更は自動的にコミットされます。デフォルトはTRUEです。 |
CREATE_OR_REPLACE_SHARE_RECIPIENTプロシージャ
共有受信者を作成または置換します。少なくともEメール・アドレスまたは共有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ビューに記録される詳細の量が制御されます。このパラメータに使用される定数の詳細は、DBMS_SHARE定数のログ・レベルの説明を参照してください。 |
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
);パラメータ
| パラメータ | 摘要 |
|---|---|
storage_link_name |
削除するクラウド・ストレージ・リンクの名前。 |
owner |
クラウドストレージリンクの所有者。現在のユーザーの場合はNULLのままにします。 |
auto_commit |
TRUEの場合、コードはリンクの削除後に自動的にコミットされます。デフォルトは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
);パラメータ
| パラメータ | 摘要 |
|---|---|
view_name |
新規ビューの名前。 |
view_owner |
ビューの所有者。デフォルトでは、現在のスキーマになります。 |
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 |
privileges引数にはビットマップ値があります。引数をNULLのままにすると、デフォルトでPRIV_CREATE_SHARE + PRIV_CREATE_RECIPIENT + PRIV_CONSUME_ORACLE_SHAREに設定されます。ビットマップ値は次のとおりです。
PRIV_CREATE_RECIPIENTユーザーは自分のスキーマに共有受信者を作成できます。 PRIV_CONSUME_ORACLE_SHAREユーザーがOracleからOracleへのライブ共有を使用できるようにします。 PRIV_ORDS_ACLローカルORDSエンドポイントでユーザーにACLを付与します。これは、ユーザーがローカルに作成されたシェアでベアラートークンを生成するために必要です。 |
GENERATE_SHARE_PROFILEファンクション
デルタ共有プロファイルを生成し、CLOBとして返します。このプロファイルは、受信者がシェアを購読するときに使用できるように、印刷、格納、またはアップロードできます。
構文
FUNCTION GENERATE_SHARE_PROFILE
(
recipient_name IN VARCHAR2,
recipient_owner IN VARCHAR2 := NULL,
credentials_version IN PLS_INTEGER := NULL,
base_endpoint IN VARCHAR2 := NULL,
revoke_existing IN BOOLEAN := TRUE,
revoke_sessions IN BOOLEAN := FALSE
)
RETURN CLOB;パラメータ
| パラメータ | 摘要 |
|---|---|
recipient_name |
受信者のローカル名。 |
recipient_owner |
受信者を所有するスキーマ。デフォルトは現在のスキーマです。 |
credentials_version |
必要なshareCredentialsVersion。デフォルト・バージョンを使用するには、NULLを指定します。 |
base_endpoint |
(オプション)ORDSベース・エンドポイントのオーバーライド。ネットワークの問題またはカスタムURLが原因でデフォルト・エンドポイントが正しくない場合は、これを指定します。 |
revoke_existing |
TRUEの場合、このクライアントの以前のクライアント・シークレットは無効になります。デフォルトはTRUEです。 |
revoke_sessions |
TRUEの場合、このクライアントの既存のORDSセッションは無効になります。デフォルトはFALSEです。 |
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;パラメータ
| パラメータ | 摘要 |
|---|---|
recipient_name |
受信者のローカル名。 |
recipient_owner |
受信者を所有するスキーマ。 |
expiration |
アクティブ化リンクが期限切れになるまでの秒数。 |
invalidate_previous |
TRUE (デフォルト)の場合、以前に生成されたアクティブ化リンクは無効になります。FALSEの場合、以前に生成されたアクティブ化リンクは有効なままです。 |
例: 画面へのアクティブ化リンクの印刷
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 |
取得する資産。これらのプロパティには次のものがあります。
このパラメータに使用される定数の詳細は、[DBMS_SHARE定数](dbms-share-package-constants.html#GUID-F35B1B50-7345-4ECC-B28B-85B1878EFC3D)の共有プロパティの説明を参照してください。 |
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プロシージャ
デルタ共有プロファイルをJSONオブジェクトに直接生成します。これは、プロファイルをCLOBとして返さないようにし、かわりにJSONオブジェクトを適切に操作する場合に便利です。
構文
PROCEDURE POPULATE_SHARE_PROFILE
(
recipient_name IN VARCHAR2,
share_profile IN OUT NOCOPY SYS.JSON_OBJECT_T,
recipient_owner IN VARCHAR2 := NULL,
credentials_version IN PLS_INTEGER := NULL,
base_endpoint IN VARCHAR2 := NULL,
revoke_existing IN BOOLEAN := TRUE,
revoke_sessions IN BOOLEAN := FALSE
);パラメータ
| パラメータ | 摘要 |
|---|---|
recipient_name |
受信者のローカル名。 |
recipient_owner |
受信者を所有するスキーマ。デフォルトは現在のスキーマです。 |
share_profile |
Bearerトークンを含まない共有プロファイル。 |
credentials_version |
必要なshareCredentialsVersion。デフォルト・バージョンを使用するには、NULLを指定します。 |
base_endpoint |
(オプション)ORDSベース・エンドポイントのオーバーライド。これは、ネットワークの問題またはカスタムURLが原因でデフォルトのエンドポイントが正しくない場合に使用します。 |
revoke_existing |
TRUEの場合、このクライアントの以前のクライアント・シークレットは無効になります。デフォルトはTRUEです。 |
revoke_sessions |
TRUEの場合、このクライアントの既存のORDSセッションは無効になります。デフォルトはFALSEです。 |
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 |
ファイルのパージ方法を指定します。パージ・モードの値は次のとおりです。
|
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
);パラメータ
| パラメータ | 摘要 |
|---|---|
old_name |
共有リンクの現在の名前。 |
new_name |
リンクの新しい名前。 |
link_owner |
共有リンクの所有者。デフォルトは、現行のスキーマです。 |
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には少なくとも次のものが含まれている必要があります:
追加アイテムは、発信者の裁量で含めることができます。 |
例: 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"の削除
"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 |
イベント・ロギングのレベル。このパラメータに使用される定数の詳細は、DBMS_SHARE定数のログ・レベルの説明を参照してください。 |
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 |
イベント・ロギングのレベル。このパラメータに使用される定数の詳細は、DBMS_SHARE定数のログ・レベルの説明を参照してください。 |
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
);パラメータ
| パラメータ | 摘要 |
|---|---|
storage_link_name |
CREATE_CLOUD_STORAGE_LINKプロシージャを使用して以前に作成されたクラウド・ストレージ・リンクの名前。 |
credential_name |
ストレージへのアクセス権を付与するローカル資格証明の名前。共有記憶域に使用される資格証明は、事前認証済リクエストの読取り、書込み、削除および管理が可能である必要があります。事前認証済リクエストの使用を参照してください |
owner |
クラウドストレージリンクの所有者。現在のユーザーの場合はNULLのままにします。 |
check_if_exists |
check_if_existsがTRUEの場合、ファンクションは、現行のユーザーの資格証明が存在することも確認します。 |
auto_commit |
デフォルトはTRUEです。TRUEの場合、このトランザクションはコミットされます。FALSEの場合、ユーザーはトランザクションをコミットする必要があります。コミットが実行されるまで、変更は表示されません。 |
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 |
更新するプロパティ。これらのプロパティには次のものがあります。
|
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 |
更新するプロパティ。これらのプロパティには次のものがあります。
|
new_value |
新しいプロパティの値 |
share_schema_name |
共有スキーマの名前(デフォルトは現在のユーザーの大文字)。 |
share_owner |
シェアの所有者。デフォルトは、現行のスキーマです。 |
Auto_commit |
TRUE (デフォルト)の場合、変更が自動的にコミットされます。FALSEの場合、ユーザーは変更をコミットする必要があります。変更は、コミットの実行後に外部に表示されます。 |
VALIDATE_CREDENTIALファンクション
資格証明名を検証し、必要に応じて最初に正規形に変換します。
名前が有効なOracle識別子でない場合、プロシージャは例外を発生させます。credential_nameは、USER_CREDENTIALSビューのCREDENTIAL_NAME列に表示されるように、二重引用符なしで返されます。
構文
FUNCTION VALIDATE_CREDENTIAL
(
credential_name IN VARCHAR2,
check_if_exists IN BOOLEAN := TRUE
)
RETURN VARCHAR2;パラメータ
| パラメータ | 摘要 |
|---|---|
credential_name |
標準データベース・フォームで検証する資格証明の名前。名前が単純な識別子でない場合は二重引用符で囲みます。 |
check_if_exists |
TRUEの場合、ファンクションは、現在のユーザーの資格証明が存在することも確認します。 |
VALIDATE_DELTA_PROFILEプロシージャ
デルタ共有プロファイルがサポートされているJSON形式のいずれかであるかどうかを確認します。このプロシージャは、構造のみを検証します。エンドポイントはコールされず、資格証明も検証されません。
構文
PROCEDURE VALIDATE_DELTA_PROFILE
(
delta_profile IN CLOB
);パラメータ
| パラメータ | 摘要 |
|---|---|
delta_profile |
JSON形式のデルタ共有プロファイル。サポートされているプロファイルには、バージョン1およびバージョン2の資格証明形式が含まれます。 |
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値は制限なしを意味します。 |