ヘッダーをスキップ
Oracle® Database PL/SQL言語リファレンス
11gリリース2 (11.2)
B56260-09
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

ALTER LIBRARY文

ALTER LIBRARY文を使用すると、ライブラリを明示的に再コンパイルできます。明示的に再コンパイルすることによって、実行時に暗黙的に再コンパイルする必要がなくなり、関連する実行時コンパイル・エラーおよびパフォーマンス・オーバーヘッドが発生しなくなります。


注意:

この文では、既存のライブラリの宣言または定義は変更されません。ライブラリを再宣言または再定義するには、CREATE LIBRARY文OR REPLACE句とともに使用します。

ここでのトピック

前提条件

ライブラリがSYSスキーマ内にある場合、SYSDBAとして接続する必要があります。そうでない場合は、ライブラリが自分のスキーマ内にあるか、ALTER ANY LIBRARYシステム権限が必要です。

構文

alter_library::=

alter_library.gifの説明が続きます。
alter_library.gifの説明

compiler_parameters_clause::=

compiler_parameters_clause.gifの説明が続きます
compiler_parameters_clause.gifの説明

セマンティクス

library_name

再コンパイルされるライブラリの名前。

COMPILE

ライブラリを再コンパイルします。

再コンパイル中、データベースによってコンパイラの永続的なスイッチ設定はすべて削除され、セッションから再度取得されて、コンパイル後に格納されます。この処理を回避するには、REUSE SETTINGSを指定します。

DEBUG

PLSQL_OPTIMIZE_LEVEL=1と同じ効果があり、PL/SQLデバッガで使用するためのコードを生成して格納するようにPL/SQLコンパイラに指示します。DEBUGではなく、PLSQL_OPTIMIZE_LEVEL=1を使用することをお薦めします。

REUSE SETTINGS

Oracleによってコンパイラ・スイッチ設定が削除および再取得されないようにします。既存の設定が保持され、この文の他の場所に値が指定されていないパラメータの再コンパイルにその設定が使用されます。

compiler_parameters_clause

型に対する動作は、ファンクションに対する動作と同様です。詳細は、「ALTER FUNCTION」のcompiler_parameters_clauseを参照してください。

ライブラリの再コンパイル: 例 サンプル・ユーザーhrが所有しているライブラリmy_ext_libを明示的に再コンパイルするには、次の文を発行します。

ALTER LIBRARY hr.my_ext_lib COMPILE;

my_ext_libの再コンパイル中にデータベースでコンパイル・エラーが発生しなかった場合、my_ext_libは有効になります。その後、実行時にデータベースによって再コンパイルされることなく、実行できます。my_ext_libの再コンパイル時にコンパイル・エラーが発生した場合は、データベースによってエラーが戻され、my_ext_libは無効なままになります。

また、データベースによって、my_ext_libに依存するオブジェクトもすべて無効にされます。その後、最初に明示的に再コンパイルせずにこれらのオブジェクトのいずれかを参照すると、データベースによって実行時にそのオブジェクトが暗黙的に再コンパイルされます。