【自動メモリー管理・自動共有メモリー管理】ORACLE MASTER Gold DBA 2019

概要

Oracleデータベースには、効率的なメモリー利用をサポートする自動メモリー管理(Automatic Memory Management, AMM)自動共有メモリー管理(Automatic Shared Memory Management, ASMM)という2つの機能があります。これらは、それぞれ異なる方法でメモリーを動的に管理し、データベースのパフォーマンスを最適化します。

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

自動メモリー管理(AMM)は、Oracleデータベース全体のメモリー(SGAとPGAの両方)を自動で調整する機能です。AMMを使用すると、データベースが使用するメモリーを一括管理でき、SGA(System Global Area)とPGA(Program Global Area)にメモリーが自動的に割り当てられます。

AMMの特徴

  • メモリー全体の自動調整
    AMMを使用すると、Oracleデータベースが利用する物理メモリーの総量だけを指定するだけで、SGAとPGAのメモリー割り当てが動的に調整されます。
  • シンプルな設定
    設定はMEMORY_TARGETMEMORY_MAX_TARGETの2つのパラメータを設定するだけで済みます。これにより、ユーザーが詳細なメモリーの配分を気にせずに済むようになります。
  • 最適化されたパフォーマンス
    メモリーの割り当てが動的に調整されるため、ワークロードの変動に合わせて最適なメモリー配分が行われ、パフォーマンスが安定します。

設定方法

  • MEMORY_TARGET
    データベースのメモリーの合計量を指定します。この値を変更すると、OracleがSGAとPGAの割り当てを動的に調整します。
  • MEMORY_MAX_TARGET
    MEMORY_TARGETで設定できるメモリー量の上限を指定します。データベースを再起動しなくても変更できます。

自動共有メモリー管理(Automatic Shared Memory Management, ASMM)

自動共有メモリー管理(ASMM)は、SGA領域のメモリー割り当てを動的に調整する機能です。ASMMでは、SGA内の各コンポーネント(バッファキャッシュ、共有プールなど)に対して自動でメモリーが割り当てられ、効率的に使用されるように管理されます。

ASMMの特徴

  • SGA内の自動メモリー割り当て
    ASMMは、SGAのさまざまなコンポーネント(共有プール、バッファキャッシュなど)に対して、ワークロードに応じて自動的にメモリーを割り当てます。
  • 細かい制御が可能
    ASMMではSGAの各領域に対して手動でのチューニングも可能で、SGA_TARGETパラメータを設定するだけで自動調整が行われますが、各コンポーネントの上限・下限を指定することもできます。
  • 複数のインスタンスでの利用
    ASMMは、Oracle Real Application Clusters(RAC)などのマルチインスタンス環境でも使用でき、インスタンスごとにメモリー管理が調整されます。

設定方法

  • SGA_TARGET
    SGA領域全体の自動管理を行うためのターゲットサイズを指定します。このパラメータを設定すると、バッファキャッシュや共有プールなどが自動的に管理されます。
  • SGA_MAX_SIZE
    SGA領域の最大サイズを設定します。ASMMを使用する場合は、SGA_TARGETがこの値を超えることはありません。

AMMとASMMの違い

特徴AMM(自動メモリー管理)ASMM(自動共有メモリー管理)
管理対象SGAとPGA全体SGA内の各コンポーネント
設定パラメータMEMORY_TARGET, MEMORY_MAX_TARGETSGA_TARGET, SGA_MAX_SIZE
動的なPGAの管理ありなし
メモリー管理の対象が詳細に設定可能不可(SGA全体とPGA全体のみ)可(SGA内の各コンポーネントごとに設定)
使用環境単一インスタンスに最適マルチインスタンスでも利用可能

まとめ

  • AMM(自動メモリー管理)は、SGAとPGAの両方を対象にメモリーの管理を行い、全体のメモリー量を自動調整することで、ユーザーの負担を大幅に軽減します。
  • ASMM(自動共有メモリー管理)は、SGA内の各コンポーネントに対して動的なメモリー調整を行い、より細かい制御が可能です。

Oracleデータベースの規模や利用環境に応じてAMMやASMMを選択し、メモリー管理を最適化することで、効率的で安定したデータベース運用が実現します。

コメント

タイトルとURLをコピーしました