ORACLE SQL リファレンス(逆引き)

ORACLE SQL リファレンス

Web oracle.se-free.com
特定のストアド・プログラムをネイティブ・コンパイルする
スポンサード リンク

ストアド・プログラムは、通常は作成時にMコードにコンパイルされて、データディクショナリに格納され、実行時に実行可能なコードに変換されます。

それに対して、ネイティブ・コンパイルを使用すると、直接、実行可能なコードに変換するので、実行時に変換する必要がなくなるので、パフォーマンスが上がります。

Cコンパイラがインストールされて無い場合は、Windowsの場合だと、Visual C++ 2005 Express Editionなどらインストールする必要があります。

oracle10gでのネイティブコンパイル手順は、以下になります。

1.spnc_commandsの編集
 %ORACLE_HOME%\plsql\spnc_commands のCコンパイラのフルパス名が正しいことを確認します。

2.初期化パラメータの設定
 ●PLSQL_NATIVE_LIBRARY_DIR
   ネイティブ・コンパイル済のPL/SQLコードを格納する共有ライブラリの格納場所のフルパス
  例) ネイティブ・コンパイル済のPL/SQLコードを格納するディレクトリのパスが'c:\oracle\oradata\db1\natlib'の場合

PLSQL_NATIVE_LIBRARY_DIR='c:\oracle\oradata\db1\natlib'


 ●PLSQL_NATIVE_LIBRARY_SUBDIR_COUNT
   PLSQL_NATIVE_LIBRARY_DIRパラメータで指定したディレクトリ内のサブディレクトリの数を指定します。
  例) 1,000個のサブディレクトリに対してパラメータを設定する場合

PLSQL_NATIVE_LIBRARY_SUBDIR_COUNT=1000;


 ●PLSQL_CODE_TYPE
    PL/SQLのネイティブ・コンパイルを有効にするには、PLSQL_CODE_TYPEの値を「NATIVE」に設定します。
     デフォルト設定は「INTERPRETED」です。
    セッションレベルで、「NATIVE」/「INTERPRETED」を切り替えるには、以下のコマンドで切り替えます。
ALTER SESSION SET PLSQL_CODE_TYPE='NATIVE';
ALTER SESSION SET PLSQL_CODE_TYPE='INTERPRETED';

3.コンパイルの実行
  CREATE OR REPLACEを使用してサブプログラムを作成または再コンパイルします。


スポンサード リンク


ストアド・プログラムをメモリ上に固定する(DBMS_SHARED_POOL.KEEP)
メモリ上に固定したストアド・プログラムの解放(DBMS_SHARED_POOL.UNKEEP)
特定のストアド・プログラムをネイティブ・コンパイルする
全てのストアド・プログラムをネイティブに再コンパイルする
ソース・コードの最適化(PLSQL_OPTIMIZE_LEVEL)

PL/SQL へ
忘れっぽいエンジニアのオラクルSQLリファレンス TOPへ