メモリー管理では、データベースでの需要の変化に応じて、Oracleインスタンスのメモリー構造の最適なサイズを維持する必要があります。管理の対象となるメモリーは、システム・グローバル領域(SGA)メモリーとインスタンスのプログラム・グローバル領域(PGA)メモリーです。インスタンスPGAメモリーは、すべての個別PGAに割り当てられているメモリーの集合です。
Oracle Database 11gリリース(11.1)から、データベースでSGAメモリーとインスタンスPGAメモリーを完全に管理できるようになりました。インスタンスで使用される合計メモリー・サイズを指定するだけで、Oracle Databaseが必要に応じてSGAとインスタンスPGAの間でメモリーを動的に交換し、処理ニーズに対応します。この機能を自動メモリー管理と呼びます。このメモリー管理モードでは、データベースは個別SGAコンポーネントのサイズとインスタンスPGAのサイズも動的にチューニングします。
SGAとインスタンスPGAのサイズをより直接的に制御するには、自動メモリー管理を無効化し、自動共有メモリー管理を有効化します。
自動共有メモリー管理では、SGAのターゲット・サイズと最大サイズを設定します。これによりOracle Databaseでは、SGAの合計サイズが指定したターゲットに合わせてチューニングされ、すべてのSGAコンポーネントのサイズも動的にチューニングされます。
自動共有メモリー管理を有効化すると、自動PGAメモリー管理も有効化できます。自動PGAメモリー管理では、Oracle DatabaseによりインスタンスPGAのメモリー管理が自動的に実行されます。オプションで、インスタンスPGAのターゲット・サイズを設定できます(そうすると、データベースによりインスタンスPGAのサイズがターゲットに合わせてチューニングされ、個別PGAのサイズも動的にチューニングされます)。
個別SGAコンポーネントのサイズを完全に制御するには、自動メモリー管理と自動共有メモリー管理の両方を無効化します。これを、手動共有メモリー管理と呼びます。このモードでは、複数の個別SGAコンポーネントのサイズを設定することで、SGA全体のサイズを決定します。その後、個別SGAコンポーネントを継続的に手動でチューニングします。
手動共有メモリー管理モードは、熟練したDBAのみを対象としています。このモードでは自動PGAメモリー管理は有効なままですので注意してください。
注意:
自動PGAメモリー管理を無効化することは可能ですが、お薦めしないため、このマニュアルでは説明されていません。
表5-3は、データベース・インスタンスに設定可能な各種メモリー管理モードをまとめたものです。
表5-3 Oracle Databaseメモリー管理モード
メモリー管理モード | ユーザー設定 | Oracle Databaseによる自動チューニング |
---|---|---|
自動メモリー管理 |
|
|
自動共有メモリー管理と自動PGAメモリー管理 (自動メモリー管理は無効) |
|
|
手動共有メモリー管理と自動PGAメモリー管理 (自動メモリー管理と自動共有メモリー管理は無効) |
|
|
注意:
自動メモリー管理は、一部のプラットフォームでは使用できません。サポートされているプラットフォームの詳細は、『Oracle Database管理者ガイド』を参照してください。
データベースをインストールする際に基本インストール・オプションを選択すると、自動メモリー管理が有効になります。拡張インストールを選択する場合、Database Configuration Assistant (DBCA)によって、3つのメモリー管理モードから選択できるようになります。自動メモリー管理をお薦めします。
どのメモリー管理モードを選択しても、データベースまたはホスト・コンピュータの変更を要求してメモリー設定を調整する場合があります。メモリー設定を調整する理由は次のとおりです。
メモリー関連のアラートまたはエラー・メッセージを受け取る。
自動データベース診断モニター(ADDM)からメモリー関連の推奨事項を受け取る。
将来的なメモリー需要の増大を見越してメモリーのサイズを設定する。
メモリー・アドバイザを使用すると、メモリー・サイズの調整に役立ちます。メモリー・アドバイザを使用する例については、「メモリー設定の変更: 自動共有メモリー管理」を参照してください。
注意:
メモリー管理に使用する初期化パラメータはマルチテナント・コンテナ・データベース(CDB)のルートに設定され、これらのパラメータに設定された値はCDB内のすべてのプラガブル・データベース(PDB)に適用されます。