5-5メモリー管理

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