Oracle Database11gで利用可能なメモリーの管理方法の確認。
自動メモリー管理
自動メモリー管理は、Oracle Database11gから新たに追加された機能である。自動メモリー管理ではOracleサーバーが使用するメモリの合計サイズを、データベース管理者がMEMORY TARGET初期化パラメータで指定すると、自動的にSGAとPGAの間で最適なサイズに配分される。配分されたメモリーは、自動共有メモリー管理及び自動PGAメモリー管理により、さらにSGAの各コンポーネントおよび個々のPGAサイズが自動的にチューニングされる。自動メモリー管理はメモリーを管理するもっとも簡単な方法である。
【重要】
Oracleサーバーが使用できる最大メモリーはMEMORY_MAX_TARGET初期化パラメータで指定する。MEMORY_TARGETパラメータは、MEMORY_MAX_TARGET初期化パラメータで指定したサイズを超えて設定することはできない。
MEMORY TARGET初期化パラメータおよびMEMORY_MAX_TARGET初期化パラメータの値は、EnterPrize Managerの「メモリー・アドバイザ」ページから変更可能である。ページ内の「合計メモリーサイズ」がMEMORY TARGET初期化パラメータに、「最大メモリー・サイズ」がMEMORY_MAX_TARGET初期化パラメータに相当する。
自動メモリー管理を無効にした場合、「自動共有メモリー管理」「手動共有メモリー管理」「自動PGAメモリー管理」「手動PGAメモリー管理」を使用してメモリーを管理する。
自動共有メモリー管理
SGAが使用する合計メモリーサイズをSGA_TARGET初期化パラメータで指定し、SGAの各コンポーネントが使用するサイズを自動チューニングする方法である。PGAのサイズは別途管理する必要がある。
ただし、REDOログバッファは自動共有メモリー管理の対象ではないため、LOG_BUFFER初期化パラメータを使用して個別にサイズを指定する必要がある。
SGA_TARGET初期化パラメータで指定したメモリーサイズから自動共有メモリー管理対象外のメモリーサイズが除かれた後、残ったサイズが自動的にSGA内の次の領域に対して分配される。
- 共有プール
- Javaプール
- データベースバッファキャッシュ
- ラージプール
先述の通り、REDOログバッファは含まれない。
自動共有メモリー管理で使用するメモリーサイズ(SGA_TARGET)は最大SGAサイズ(SGA_MAX_SIZE)を超えて設定できない。SGA_TARGET初期化パラメータおよびSGA_MAX_SIZE初期化パラメータは、EnterPrize Managerの「メモリー・アドバイザ」ページから変更可能。
手動共有メモリー管理
自動共有メモリー管理を無効にした場合は、SGAの各コンポーネントが使用するサイズを個々に手動で指定する。
SGA内の各コンポーネントのサイズを、以下の初期化パラメータで指定する。
| 初期化パラメータ |
説明 |
| DB_CACHE_SIZE |
標準ブロックサイズのデータに使用するキャッシュサイズを指定する |
| JAVA_POOL_SIZE |
Javaプールのサイズを指定する |
| LARGE_POOL_SIZE |
ラージプールのサイズを指定する |
| LOG_BUFFER |
REDOログバッファのサイズを指定する |
| SHARED_POOL_SIZE |
共有プールのサイズを指定する |
LOG_BUFFERを除く各初期化パラメータは、EnterPrize Managerの「メモリー・アドバイザ」ページより変更可能。LOG_BUFFER初期化パラメータは「初期化パラメータ」ページから変更する。
自動PGAメモリー管理
PGAが使用する合計メモリーサイズをPGA_AGGREGATE_TAGET初期化パラメータで指定し、個々のPGAが使用するサイズを自動チューニングする方法。EnterPrize Managerの場合、「PGAターゲット統計」でPGAが使用する合計サイズを指定する。
手動PGAメモリー管理
自動PGAメモリー管理を使用しない場合は、個々のPGAが使用する最大サイズをSORT_AREA_SIZE初期化パラメータなどを使用して手動で指定する。
戻る
最終更新:2014年04月17日 21:24