ラージ・ページのサポートの概要

ラージ・ページのサポートはOracle Databaseの機能です。

これは、Windows Serverで実行中のメモリー集中型データベース・インスタンスのパフォーマンスを向上させます。Oracle Databaseは、新しく導入されたオペレーティング・システムのサポートを活用しているため、プロセッサ・メモリーによってアドレッシングされるリソースを効率的に使用できるようになりました。具体的には、ラージ・ページのサポートを有効にすると、システムのCPUからRAM内のOracle Databaseバッファへのアクセスが高速になります。CPUは、データベース・バッファをアドレッシングする際に、4KB単位で増分されるバッファをアドレッシングするかわりに、物理アドレス拡張(PAE)モードの2MBのページ・サイズと、非PAEモードの4MBのページ・サイズを使用するように指示されます。

この機能は、Oracleバッファ・キャッシュが数GBである場合に特に役立ちます。これより小さいサイズの構成でも、ラージ・ページを使用する効果はありますが、データベースが大量のメモリーにアクセスしている場合ほど効果は大きくありません。

デフォルトのSYSTEMユーザー以外のユーザーでサービスが実行される場合、管理者はそのユーザーに「Lock pages in memory」権限を付与する必要があります。この権限は、Windowsのインストール時にデフォルトで有効化されません。

メモリ内のページのロック権限の付与

メモリー内のページのロック権限を付与するには、この手順を使用します。

SeLockMemoryPrivilegeを付与するには、次の手順を実行します。

  1. 「スタート」メニューから、「コントロール パネル」を選択します。

    「コントロール パネル」ウィンドウが開きます。

  2. 「管理ツール」をダブルクリックします。

    「管理ツール」ウィンドウが開きます。

  3. 「ローカル セキュリティ ポリシー」をダブルクリックします。

    「ローカル セキュリティ ポリシー」ウィンドウが開きます。

  4. 「ローカル セキュリティ設定」ウィンドウの左側のペインで、「ローカル ポリシー」を開いて「ユーザー権利の割り当て」を選択します。
  5. 「ローカル セキュリティ ポリシー」ウィンドウの右側のペインで、「メモリ内のページのロック」をダブルクリックします。

    「メモリ内のページのロックのプロパティ」ウィンドウが開きます。

  6. 「ユーザーまたはグループの追加」をクリックします。

    「ユーザーの選択」、「コンピュータ」、「サービス・アカウント」または「グループ」ダイアログ・ボックスが開きます。

  7. 「選択するオブジェクト名を入力してください」フィールドにOracleホーム・ユーザー名を入力し、「名前の確認」をクリックします。
  8. 「OK」をクリックして、「ユーザーの選択」、「コンピュータ」、「サービス アカウント」または「グループ」ダイアログ・ボックスを閉じます。
  9. 「OK」をクリックして、「メモリ内のページのロックのプロパティ」ウィンドウを閉じます。

ラージ・ページ・サポートの有効化

ラージ・ページを利用するには、物理メモリーの容量が、パラメータ・ファイルに指定されたシステム・グローバル領域(SGA)の容量より大きい必要があります。

ラージ・ページは、インスタンスの起動時に常に割り当てられるわけではありません。ラージ・ページは次の2つのモードでサポートされます。

  • 通常モード: すべてのSGAがラージ・ページで割り当てられようとします。ラージ・ページの必要量が使用できない場合、インスタンスは起動しません。

  • 混合モード: すべてのSGAがラージ・ページで割り当てられようとします。ラージ・ページがそれ以上使用できない場合、以降の割当ては通常のページを使用して行われます。そのため、SGA割当ては、ラージ・ページと通常のページが混在したセットになります。

    混合モードは時間パラメータ(msecs単位)もサポートします。ラージ・ページの割当てがこの時間パラメータで指定したミリ秒よりもかかった場合、以降の割当ては通常のページを使用して行われます。このパラメータは、SGA全体がラージ・ページを使用して割り当てられているために、データベースの起動時間が長くなりすぎる場合に有用です。

注意:

通常モードでは、ラージ・ページの使用により、SGA全体が物理メモリーにロックされます。物理メモリーは、縮小操作中は解放されません。混合モードでは、SGAのラージ・ページのみが物理メモリーでロックされ、縮小操作中は解放されず、通常のページはページング可能のままです。

関連項目:

ラージ・ページの割当ての制限事項は、オペレーティング・システムのドキュメントを参照

ラージ・ページのサポートを有効化するには、次のようにします。

  1. ORACLE_HOME\bin\oracle.keyディレクトリに移動します。
  2. テキスト・エディタでoracle.keyを開き、その中にある値を記録します。これは、Oracle Universal Installerによって設定されたものです。デフォルトは、次のとおりです。
    SOFTWARE\ORACLE\KEY_HOMENAME
    
  3. コマンド・プロンプトでレジストリ エディタを起動します。
    C:\> regedit
    

    注意:

    レジストリ エディタを使用すると、レジストリ・キーおよびパラメータ値を表示し、変更できますが、通常その必要はありません。実際、変更が適切でないとシステムが使用できなくなることがあります。したがって上級ユーザー以外は、レジストリを編集しないでください。レジストリに変更を加える場合は、その前にシステムをバックアップしてください。

    oracle.keyファイルを変更または削除しないでください。このファイルは、レジストリ内でOracle変数を保存する場所を決定するためにOracleバイナリによって開かれます。

  4. HKEY_LOCAL_MACHINEファイルに移動します。

    oracle.keyファイルに記載されていた値に対応するキーを見つけます。たとえば、デフォルトの環境では、次の場所を探します。

    HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_HOMENAME
    
  5. ラージ・ページのサポートを有効にする対象に応じて、次のいずれかを作成します。
    • ORA_LPENABLE: すべてのインスタンスでラージ・ページのサポートを有効化します。その値によりコンピュータ上のすべてのOracleデータベース・インスタンスに対するラージ・ページのモードが決定します。

    • ORA_SID_LPENABLE: 特定のインスタンスでラージ・ページのサポートを有効化します。その値により特定のデータベース・インスタンスに対するラージ・ページのモードが決定します。

      上記のレジストリ・エントリの値を、通常モードの場合は1に、混合モードの場合は2に設定します。

      混合モードの時間パラメータはオプションです。インスタンス特有のこの時間パラメータを指定するには、ORA_SID_LPMAXTIMEを作成し、その値をミリ秒単位で設定します。

      この時間パラメータがインスタンスに指定され、指定したミリ秒を超える時間がラージ・ページの割当てにかかる場合、残りのSGAは通常のページを使用して割り当てられます。

  6. レジストリ エディタを終了します。

デフォルトでは、ラージ・ページの使用時に、使用可能な最小限のラージ・ページ・サイズがOracleによって割り当てられます。使用可能な最小限のラージ・ページ・サイズ(16MB)は、GetLargePageMinumumファンクションの使用により取得されます。

注意:

ラージ・ページを有効化する場合は、初期化パラメータlock_sgaを設定しないでください。ラージ・ページの使用により、SGA全体が物理メモリーにロックされます。この状態でlock_sgaパラメータを使用すると、オペレーティング・システムが自動的にロックするため、データベースの起動はエラーとともに失敗します。つまり、この設定では、ラージ・ページがリクエストされたときにメモリーをディスクにページングできません。物理メモリーは、縮小操作中は解放されません。