Monday, February 16, 2009

Oracle 10g R2 Very Large Memory(VLM)構成のサポート

Very Large Memory(VLM)構成のサポート

Oracle Database for Windowsは、Windows 2000、Windows 2003、Windows XPおよびWindows VistaでのVery Large Memory(VLM)構成をサポートしています。これにより、Oracle Databaseは、Windowsアプリケーションで以前から使用可能である4GBを超えるRAMにアクセスできるようになります。

注意

この機能は、Intel Pentium II以上のプロセッサを搭載したWindows 2000、Windows 2003、Windows XPおよびWindows Vistaでのみ使用できます。

具体的には、Oracle Databaseは、Windows 2000、Windows 2003、Windows XPおよびWindows Vistaに組み込まれているAddress Windowing Extensions(AWE)を使用して、4GBを超えるRAMにアクセスします。

このサポートを利用するための要件は、次のとおりです。

1. Oracle Databaseがインストールされているコンピュータに4GBを超えるメモリーが搭載されている必要があります。

2. boot.iniに/PAEスイッチを追加して、Physical Address Extensions(PAE)を利用できるようにオペレーティングシステムが構成されている必要があります。PAEを有効にするためにboot.iniを変更する方法は、Microsoft Knowledge Baseの文書番号Q268363を参照してください。

3. /3GBパラメータをboot.iniに追加して4GTサポートを有効にすることをお薦めします(ただし、必須ではありません)。boot.iniを変更して4GTを有効にするための追加の要件と方法は、Microsoft Knowledge Baseの文書番号Q171793を参照してください。

4. Oracle Databaseを実行するユーザー・アカウント(通常はLocalSystemアカウント)には、Windows 2000およびWindows XPの「Lock pages in memory」権限が必要です。

5. VLMサポートを使用するデータベース・インスタンスの初期化パラメータ・ファイルに

USE_INDIRECT_DATA_BUFFERS=TRUEが指定されている必要があります。このパラメータが設定されていない場合、Oracle Database 10gリリース1(10.1)以上は以前のリリースと同じように動作します。
6. 初期化パラメータDB_BLOCK_BUFFERSおよびDB_BLOCK_SIZEは、Oracle Database用に選択した値に設定する必要があります。

注意

データベース・バッファの合計バイト数(DB_BLOCK_BUFFERSにDB_BLOCK_SIZEを掛けた値)に対する3GBの制限はなくなりました。

VLMでは動的SGAおよびマルチ・ブロック・サイズはサポートされません。VLMが有効である場合、次の新しいバッファ・キャッシュ・パラメータはサポートされません。
* DB_CACHE_SIZE

* DB_2K_CACHE_SIZE

* DB_4K_CACHE_SIZE

* DB_8K_CACHE_SIZE

* DB_16K_CACHE_SIZE

* DB_32K_CACHE_SIZE

インスタンスのブロック・サイズを選択するには、初期化パラメータDB_BLOCK_SIZEを使用します。バッファ・キャッシュ・サイズは、初期化パラメータDB_BLOCK_BUFFERSによって設定されます。
7. レジストリ・パラメータAWE_WINDOW_MEMORYは、Oracleホームに対して、該当するキーで作成および設定する必要があります。このパラメータはバイト単位で指定され、デフォルト値は1GBです。AWE_WINDOW_MEMORYは、3GBのアドレス空間のうち、データベース・バッファへのマッピング用として確保する量をOracle Databaseに指示します。

このメモリーはOracle Databaseの3GBの仮想アドレス空間のものであるため、その値は3GB未満にする必要があります。このパラメータの値を大きくすると、アドレス空間の多くがバッファ用に使用され、バッファ用に使用されるAWEメモリーの使用量が減る効果があります。ただし、AWEバッファへのアクセス速度は仮想アドレス空間のバッファへのアクセス速度より若干遅いため、データベース操作に悪影響を及ぼさない範囲でできるだけ大きな値をこれらのパラメータに設定することをお薦めします。

通常、AWE_WINDOW_MEMORYの設定値を高くするほど、Oracle Databaseで可能な接続数およびメモリー割当て量が少なくなります。AWE_WINDOW_MEMORYの設定値を低くするほど、パフォーマンスは低下します。
8. このパラメータを設定した後、Oracle Databaseを起動できます。Oracle Databaseは以前と同じように動作しますが、インスタンスに使用可能なデータベース・バッファの量が増えます。また、システム・グローバル領域(SGA)でキャッシュ可能なOracle Databaseデータ・ブロックが増えるため、ディスクI/Oを減らすことができます。

注意

以前のリリースでVLM構成の有効化に使用していたレジストリ・パラメータVLM_BUFFER_MEMORYは、Oracle Database 10gリリース1(10.1)以上ではサポートされません。

VLMインスタンスのチューニング

VLM構成では、メモリーにキャッシュするデータベース・バッファを増やすことで、データベースのパフォーマンスが向上します。これにより、VLMを使用しない構成と比較してディスクI/Oが減少します。Oracle Database 10gリリース1(10.1)以上でのVLMサポートは、Windowsとの統合がさらに緊密になるように変更されています。VLMユーザーにとって、新しい実装では、Oracle8iリリース2(8.1.6)と比較してパフォーマンスが向上しています。

VLMのチューニングは、VLMを使用しない構成のチューニングと同じです。DB_BLOCK_SIZEおよびDB_BLOCK_BUFFERS初期化パラメータの選択を繰り返し、サポートされているアプリケーションに適切な値を見つけます。

注意

Oracle Database 10gリリース1(10.1)以上のVLM構成では、複数のデータベース・ブロック・サイズをサポートしていません。

VLMに固有の新しいレジストリ・パラメータであるAWE_WINDOW_MEMORYは、アドレス空間のうちデータベース・バッファへのマッピング用として確保する量をOracle Databaseに指示します。デフォルト値は、ほとんどのインストールに適した1GBです。ただし、DB_BLOCK_SIZEが大きい場合、AWE_WINDOW_MEMORYのデフォルト値の1GBでは、データベースを起動するために十分ではない場合があります。

AWE_WINDOW_MEMORYの値を大きくするとパフォーマンスは向上しますが、その他のOracle Databaseスレッド(フォアグラウンド・スレッドなど)に使用できるメモリー量が制限を受けます。この値を大きく設定しすぎると、メモリー不足エラーがクライアントに表示される場合があります。一般的な基準としては、AWE_WINDOW_MEMORYレジストリ値を20%増やします。

たとえば、DB_BLOCK_SIZEを8KB、AWE_WINDOW_MEMORYを1GB、LRUラッチの数を32(16プロセッサ・コンピュータ)に設定すると、メモリー不足エラー27102および34でデータベースの起動が失敗します。AWE_WINDOW_MEMORYの値を1.2GBまで大きくすると、この問題を解決できます。

VLM構成で大容量のキャッシュを使用する場合も、データベース・ライター(DBWR)スレッドが遅くなります。より多くのDBWRスレッドを使用すると、バッファを識別してディスクに書き込むために必要な処理が分散され、I/O負荷がスレッド間で分散されます。初期化パラメータDB_WRITER_PROCESSESを使用すると、複数のデータベース・ライター・スレッドを構成できます。

また、大容量のキャッシュを使用すると、最低使用頻度(LRU)ラッチについて競合が発生します。対称型マルチプロセッサ(SMP)システムの場合、Oracle Databaseは、LRUラッチの数をシステム上のプロセッサ数の半分に設定します。このような構成の場合は、LRUラッチの数をシステム上のプロセッサ数の2倍(または4倍)に増やすことにより、競合を軽減できます。

関連資料

インスタンスのチューニングの詳細は、『Oracle Databaseパフォーマンス・チューニング・ガイド』を参照
Windowsの4GB RAM Tuning(4GT)

次のWindowsオペレーティング・システムには、4GB RAM Tuning(4GT)と呼ばれる機能が組み込まれています。

* Windows Server 2003

* Windows 2000 Advanced Server

* Windows 2000 Datacenter Server

この機能により、Oracle Database Enterprise Editionで動作するメモリー集中型のアプリケーションは、旧バージョンのオペレーティング・システムの標準だった2GBではなく最大3GBのメモリーにアクセスできます。4GTを使用すると、データベース用として50%多いメモリーが使用可能になり、SGAサイズや接続数が増えるという、非常に大きな利点があります。
多数のユーザーのサポート

いくつかの新機能により、Oracle Databaseは、Windows上でより多くのデータベース接続をサポートできます。

* Oracle Database共有サーバー・プロセスは、Oracle Databaseプロセスで必要なスレッド数を制限しますが、1つのデータベース・インスタンスに対して10,000を超える同時接続をサポートします。

* Oracle Netの多重化および接続プーリング機能により、大規模構成でより多くのユーザーを1つのデータベース・インスタンスに接続できます。

* Oracle Real Application Clustersは、スループットを向上させるとともに、複数のサーバー・コンピュータが同じデータベース・ファイルにアクセスできるようにしてユーザー接続数を数万単位で増やし、接続数を大幅に増大します。

注意

Oracle Real Application Clustersは、Windows XPではサポートされません。

No comments: