【ORACLE】SGAとは

ここでは、ORACLEデータベースのメモリ領域である、SGAについて紹介します。

SGAとは、System Global Area(システムグローバル領域)の略称で、ORACLEデータベースにおけるメモリ領域です。ORACLEはインスタンスが起動されたタイミングで、初期化パラメータの値に沿って、SGA領域を確保します。

SGAはORACLEのサーバプロセス、及びバックグラウンドプロセスの間で共有されるメモリ領域で、大きく6つの要素から構成されます。

PGAについては↓で紹介していますので参考にしてください。
>>【ORACLE】PGAとは

SGAの構成要素

SGAの構成要素は次の通りです。
・データベースバッファキャッシュ
一度読み込んだデータをキャッシュする役割と更新データをバッファしておく役割を担います。仕組みについては「データベースバッファキャッシュとは」でもう少し詳しく紹介していますので参考にしてください。

・共有プール
次の3つのキャッシュから構成されます。
ライブラリキャッシュ、ディクショナリキャッシュ、結果キャッシュの3つです。仕組みについては、「共有プールとは」でもう少し詳しく紹介していますので参考にしてください。

・REDOログバッファ
REDOログファイルに書き込まれる前のREDOデータを格納しています。

・Javaプール
OracleJVMで利用されるメモリ領域です。

・Streamsプール
OracleStreamsと呼ばれる機能利用するためのメモリ領域です。

ORACLEのメモリは、プロセス間で共有されるSGAの他に、個々のプロセスに割り当てられるPGAがあります。用途が大きく異なりますのでご注意ください。