Oracleデータベースのメモリー管理のパラメータについて
Sal
sql Oracleソフトの基本インストールでデータベースを作成すると自動メモリー管理が有効になる。この場合、次の環境変数によって指定されたターゲットサイズの範囲内で調整される。

Oracleデータベースのメモリー管理のパラメータについて

  1. メモリーコンポーネントの管理方法
  2. 自動メモリー管理
  3. 自動メモリー管理の設定方法
  4. SGAとインスタンスPGAのサイズを個別に制御したい場合
  5. 初期化パラメータ
  6. 自動共有メモリー管理を行うための設定方法
  7. 手動共有メモリー管理+自動PGAメモリー管理
## メモリーコンポーネントの管理方法
「自動共有メモリー管理」とは

答え

SGAのトータルのサイズを指定しておくと、負荷状況にあわせて自動調節してくれる機能ができた。

PGAについても同様に、「自動PGAメモリー管理」と呼ばれるようになった。 最終的に、「自動メモリー管理」という名前によって SGAとインスタンスPGAをまとめて自動で管理できるようになった。
## 自動メモリー管理
Oracleソフトの基本インストールでデータベースを作成すると 自動メモリー管理が有効になる この場合、次の環境変数によって指定されたターゲットサイズの範囲内で調整される。 - MEMORY_TARGET

答え

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

この値は動的に変更可能

- MEMORY_MAX_TARGET

答え

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

## 自動メモリー管理の設定方法
- MEMORY_MAX_TARGETは

答え

静的なパラメータなので「SCOPE=SPFILE」を指定する必要がある

この場合、サーバーパラメータファイル内の値のみが設定され、実行中のインスタンスに対する値は変更されない。 よって、再起動が必要になる

SLTER SYSTEM SET MEMORY_MAX_TARGET = n[K | M | G] SCOPE = SPFILE;
- MEMORY_TARGETは

答え

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


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

ALTER SYSTEM SET MEMORY_TARGET = n[K | M | G] [SCOPE={MEMORY | SPFILE | BOTH}]
## SGAとインスタンスPGAのサイズを個別に制御したい場合

答え

自動共有メモリー管理を使用する

この場合、自動PGAメモリー管理が暗黙的に有効になる

## 初期化パラメータ
- SGA_TARGET

答え

SGAのターゲットサイズ

動的に変更可能だが、SGA_MAX_SIZE以上のサイズを指定することはできない。

- SGA_MAX_SIZE

答え

SGAのサイズ(静的)

静的パラメータ

- PGA_AGGREGATE_TERGET

答え

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

動的に変更可能

- メモリー管理の対象 SGA_TAEGETが指定されている場合、SGAのメモリーコンポーネントのサイズは自動的に設定される データベースバッファキャッシュ ~ ラージプール これらのメモリーコンポーネントが個別に設定されているサイズが0ではなく、整数である場合、

答え

この値はコンポーネントの最小値として使用される

- REDOログバッファ - 固定SGA これらは自動共有メモリー管理の影響を受けない ただし、SGA_TAEGETに設置絵されている総量から差し引かれる。
## 自動共有メモリー管理を行うための設定方法
自動共有メモリー管理を行うためには、最初にMEMORY_TAEGETに0を設定して、自動メモリー管理を無効化する。

ALTER_SYSTEM SET MEMORY_TAEGET = 0;
または

ALTER_SYSTEM SET MEMORY_TAEGET = 0 [SCOPE = {MEMORY | SPFILE | BOTH }];
その上で、SGA_MAX_SIZEを設定する。 SGA_MAX_SIZEは静的パラメータなので、SCOPE=SPFILEを指定することが必要。 反映するにはインスタンスの再起動が必要

ALTER_SYSTEM SET SGA_MAX_SIZE = 0 [SCOPE = {MEMORY | SPFILE | BOTH }];
SGA_TAGETは動的なパラメータなので、SGA_MAX_SIZEを超えない範囲で動的に指定可能

ALTER_SYSTEM SET SGA_TARGET = 0 [SCOPE = {MEMORY | SPFILE | BOTH }];
または

ALTER_SYSTEM SET SGA_TAERGET = 0 [SCOPE = {MEMORY | SPFILE | BOTH }];
## 手動共有メモリー管理+自動PGAメモリー管理
自動メモリー管理と自動共有メモリー管理を無王にすると - 手動共有メモリー管理になる - 自動PGAメモリー管理が暗黙的に有効になる <ここの部分の説明は省略> title:Oracleデータベースのメモリー管理のパラメータについて description:Oracleソフトの基本インストールでデータベースを作成すると自動メモリー管理が有効になる。この場合、次の環境変数によって指定されたターゲットサイズの範囲内で調整される。 category_script:page_name.startswith("6")