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

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

ORACLEMASTER 備忘録5(8/8)

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

ORACLEMASTER 備忘録5(7/8)

続き

SGA_MAX_SIZE:SGAの最大サイズ(静的)

PGA_AGGREGATE_TARGET:インスタンスPGAのターゲットサイズ

 

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

 

SGA_TARGETが指定されている場合、SGA内の次のメモリーコンポーネントのサイズは自動的に設定される。

・データベース・バッファ・キャッシュ(DB_CHACHE_SIZE)

・共有プール(SHARED_POOL_SIZE)

・Javaプール(JAVA_POOL_SIZE)

・Streamsプール(STREAMS_POOL_SIZE)

・ラージ・プール(LARGE_POOL_SIZE)

 

もし、これらのメモリーコンポーネントに個別に設定されているサイズが0(ゼロ)ではなく、整数である場合、その値は各コンポーネントの“最小値”として使用する。

なお、“REDOログバッファ”や“固定SGA”、ほかの内部割り当てに使用されるメモリーコンポーネントなどは自動共有メモリー管理の影響を受けない。ただし、これらのコンポーネントに割り当てられたメモリーは、自動共有メモリー管理で、SGA_TARGETに設定されている総量から差し引かれる。

 

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

自動共有メモリー管理を行うには、最初にMEMORY_TARGETに0(ゼロ)を設定して、自動メモリー管理を無効化する。

 

・自動メモリー管理の無効化

ALTER SYSTEM SET MEMORY_TARGET = 0;

または

ALTER SYSTEM SET MEMORY_TARGET = 0 [SCOPE = {MEMORY | SPFILE | BOTH}];

 

そのうえで、SGA_MAX_SIZEを設定する。SGA_MAX_SIZEは静的パラメータなので「SCOPE=SPFILE」を指定する必要がある。反映するにはインスタンスを再起動する。

 

・SGA_MAX_SIZEの設定

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

 

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

 

・SGA_TARGETの設定

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

 

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

自動メモリー管理と自動共有メモリー管理を無効にすると「手動共有メモリー管理」になり、また「自動PGAメモリー管理」が“暗黙的に有効”になる。この場合は、データベース管理者がデータベース・バッファ・キャッシュや共有プールなどのSGAの各コンポーネントのサイズを次のパラメータを使用して個別に指定する必要がある。

SGA

・データベース・バッファ・キャッシュ→DB_CHACHE_SIZE(動的)

・共有プール → SHARED_POOL_SIZE(動的)

・Javaプール → JAVA_POOL_SIZE(動的)

・Streamsプール → STREAMS_POOL_SIZE(動的)

・ラージ・プール → LARGE_POOL_SIZE(動的)

・REDOログバッファ → LOG_BUFFER(静的)

 

手動共有メモリー管理の設定方法

手動共有メモリー管理を行うには、最初にMEMORY_TARGETおよびSGA_TARGETパラメータに0(ゼロ)を設定して、自動メモリー管理と自動共有メモリー管理を無効化する。

 

・自動メモリー管理の無効化

ALTER SYSTEM SET MEMORY_TARGET = 0;

または

ALTER SYSTEM SET MEMORY_TARGET = 0 [SCOPE = {MEMORY | SPFILE | BOTH}];

 

・自動共有メモリー管理の無効化

ALTER SYSTEM SET SGA_TARGET = 0;

または

ALTER SYSTEM SET SGA_TARGET = 0 [SCOPE = {MEMORY | SPFILE | BOTH}];

 

そのうえで、各コンポーネントのサイズを個別に設定する。なお、「REDOログバッファ以外」のコンポーネントも動的に変更できる。

 

・SGAの各コンポーネントサイズの設定(DB_CHACHE_SIZEの場合)

ALTER SYSTEM SET db_cache_size = 700M;

・・・

 

    上に戻る