14.63 SHARING句

SHARING句は、アプリケーションのメンテナンスの場合にアプリケーション・ルートにオブジェクトを作成する場合にのみ適用されます。このタイプのオブジェクトはアプリケーション共通オブジェクトと呼ばれ、アプリケーション・ルートに属するアプリケーションPDBと共有できます。

SHARING句は、これらのSQL文を使用してアプリケーション共通のPL/SQLオブジェクトおよびSQLオブジェクトを作成する場合に使用できます。

表14-2 アプリケーション共通オブジェクト・タイプ別で可能な共有属性の概要

アプリケーション共通オブジェクトの文 使用可能なSHARING属性 構文およびセマンティックス
CREATE ANALYTIC VIEW METADATA、NONE 『Oracle Database SQL言語リファレンス』
CREATE ATTRIBUTE DIMENSION METADATA、NONE 『Oracle Database SQL言語リファレンス』
CREATE CLUSTER METADATA、NONE 『Oracle Database SQL言語リファレンス』
CREATE CONTEXT METADATA、NONE 『Oracle Database SQL言語リファレンス』
CREATE DIRECTORY METADATA、NONE 『Oracle Database SQL言語リファレンス』
CREATE FUNCTION METADATA、NONE CREATE FUNCTION文
CREATE HIERARCHY METADATA、NONE 『Oracle Database SQL言語リファレンス』
CREATE INDEXTYPE METADATA、NONE 『Oracle Database SQL言語リファレンス』
CREATE JAVA METADATA、NONE 『Oracle Database SQL言語リファレンス』
CREATE LIBRARY METADATA、NONE CREATE LIBRARY文
CREATEMATERIALIZEDVIEWLOG METADATA、NONE 『Oracle Database SQL言語リファレンス』
CREATE OPERATOR METADATA、NONE 『Oracle Database SQL言語リファレンス』
CREATE PROCEDURE METADATA、NONE CREATE PROCEDURE文
CREATE PACKAGE METADATA、NONE CREATE PACKAGE文
CREATE PACKAGE BODY METADATA、NONE CREATE PACKAGE BODY文
CREATE SEQUENCE METADATA、DATA、NONE 『Oracle Database SQL言語リファレンス』
CREATE SYNONYM METADATA、NONE 『Oracle Database SQL言語リファレンス』
CREATE TABLE METADATA、DATA、EXTENDED DATA、NONE 『Oracle Database SQL言語リファレンス』
CREATE TRIGGER METADATA、NONE CREATE TRIGGER文
CREATE TYPE METADATA、NONE CREATE TYPE文
CREATE TYPE BODY METADATA、NONE CREATE TYPE BODY文
CREATE VIEW METADATA、DATA、EXTENDED DATA、NONE 『Oracle Database SQL言語リファレンス』

構文

sharing_clause ::=

セマンティクス

sharing_clause

次の共有属性のいずれかを使用してオブジェクトを共有する方法を指定します。

  • METADATA: メタデータ・リンクはメタデータを共有しますが、そのデータは各コンテナに固有です。このタイプのオブジェクトは、メタデータリンク・アプリケーション共通オブジェクトと呼ばれます。

  • NONE - オブジェクトは共有されず、アプリケーション・ルートでのみアクセスできます。

アプリケーションの操作中にこの句を省略すると、データベースではDEFAULT_SHARING初期化パラメータが使用され、オブジェクトの共有属性が決定されます。DEFAULT_SHARING初期化パラメータに値がない場合、デフォルトはMETADATAです。

SHARING句の制限

共有句は、アプリケーション・ルートでのアプリケーションのインストール、アップグレードまたはパッチ適用時にのみ使用できます。 ALTER PLUGGABLE DATABASE APPLICATION ... BEGIN文を発行して操作を開始し、ALTER PLUGGABLE DATABASE APPLICATION ... END文を発行して操作を終了する必要があります。このコンテキスト以外のsharing_clauseは不正であり、オブジェクトが共有されないことを意味します。

オブジェクトの共有属性を作成後に変更することはできません。

通常、共通オブジェクトはローカル・オブジェクトに依存できません。このルールには次の例外があります。

  • 作成される共通オブジェクトがシノニムである
  • 作成される共通オブジェクトがローカル演算子に依存している

この2つの例外を除き、ローカル・オブジェクトに依存する共通オブジェクトを作成しようとすると、ローカル・オブジェクトが作成されます。

関連トピック

その他のドキュメント: