大阪市中央区 システムソフトウェア開発会社

営業時間:平日09:15〜18:15
MENU

ORACLEMASTER 備忘録5(7/8)

著者:伊関星児
公開日:2020/06/27
最終更新日:2020/06/27
カテゴリー:技術情報
タグ:

ORACLEMASTER 備忘録5(6/8)

続き

メモリーコンポーネント管理方法の設定

メモリーコンポーネントの管理には次の方法がある。

・自動メモリー管理(AMM:Automatic Memory Management)

・自動共有メモリー管理(ASMM:Automatic Shared Memory Management)+自動PGAメモリー管理

・手動共有メモリー管理+自動PGAメモリー管理

 

自動メモリー管理(AMM)

Oracleソフトウェアの基本のインストールを行ってデフォルトのデータベースを作成すると、「自動メモリー管理(AMM:Automatic Memory Management)」が有効になる。この場合、SGAとPGAに割り当てられるメモリーのサイズは。自動的に次の初期化パラメータによって指定されたターゲットサイズの範囲内に調整される。また、メモリー要件の変化に合わせて、SGAとインスタンスPGAとのメモリーの再配分が行われる。

 

・MEMORY_TARGET:Oracleデータベースで使用可能なメモリーサイズ(ターゲットサイズ

・MEMORY_MAX_TARGET:Oracleデータベースで使用可能なメモリーの最大サイズ(静的)

 

「MEMORY_TARGET」初期化パラメータの値は動的に変更可能だが、「MEMORY_MAX_TARGET」初期化パラメータで設定したサイズを超えることはできない。MEMORY_TARGETは静的パラメータである。

 

なお、自動メモリー管理(AMM)の場合に、後述する「SGA_TARGET」初期化パラメータ(SGAのターゲットサイズ)、および「PGA_AGGREGATE_TARGET」初期化パラメータ(インスタンスPGAのターゲットサイズ)に値を設定すると、その値はSGAまたはインスタンスPGAのサイズの“最小値”として機能する。

また、SGAの各コンポーネントサイズを設定する初期化パラメータ(※DB_CACHE_SIZEなど)に値を設定すると、その値は各コンポーネントのサイズの最小値として機能する。

 

※DB_CHACHE_SIZE初期化パラメータはデータベース・バッファ・キャッシュのサイズを指定するパラメータである。

 

自動メモリー管理の設定方法

MEMORY_MAX_TARGETは静的パラメータなので、「SCOPE=SPFILE」を指定する必要がある。「SCOPE=SPFILE」を指定すると、サーバーパラメータファイル内の値のみが設定され、実行中のインスタンスに対する値は設定されない。変更を反映するにはインスタンスを再起動する。

 

・MEMORY_MAX_TARGET初期化パラメータの設定

ALTER SYSTEM SET MEMORY_MAX_TARGET = n[K | M | G] SCOPE = SPFILE;

 

MEMORY_TARGETは動的パラメータなので、MEMORY_MAX_TARGETの値を超えない範囲で、0以外の値を動的に変更できる。

 

・MEMORY_TARGET初期化パラメータの設定

ALTER SYSTEM SET MEMORY_TARGET = n[K | M | G];

または

ALTER SYSTEM SET MEMORY_TARGET = n[K | M | G] [SCOPE={MEMORY | SPFILE | BOTH}];

 

自動共有メモリー管理(ASMM)+自動PGAメモリー管理

SGAとインスタンスPGAのサイズを個別に制御したい場合は、「自動共有メモリー管理(ASMM:Automatic Shared Memory Management)を使用する。自動共有メモリー管理を有効にすると、「自動PGAメモリー管理」が“暗黙的に有効”になる。

自動共有メモリー管理では、SGAの各コンポーネントのサイズとインスタンスPGAサイズが“個別に”、データベースサーバーによる自動管理になる。SGAとインスタンスPGAの間でのメモリー再配分は行われない。

SGAとインスタンスPGAのサイズは、次のパラメータで個別に設定する。

 

自動共有メモリー管理と自動PGAメモリー管理の初期化パラメータ

SGA_TARGET:SGAのターゲットサイズ

    上に戻る