2015.10.30 システム
SGAとPGA
こんにちは、エンジニアの阿久津です。
前回は、ORACLEMASTERについて説明しましたが、 今回は、試験の範囲に含まれるSGAとPGAついて書いていきます。
1)「SGA」「PGA」とは?
SGA(System Global Area)
SGAコンポーネントと呼ばれる共有メモリー構造のグループで、
1つのOracle Databaseインスタンスに関するデータと制御情報が保存されています。
すべてのサーバー・プロセスおよびバックグラウンド・プロセスで共有されます。
格納されるデータの例は、キャッシュ・データ・ブロックや共有SQL領域等です。
PGA(Program Global Area)
サーバー・プロセスのデータおよび制御情報が含まれるメモリー領域です。
これはサーバー・プロセスの開始時にOracle Databaseによって 作成される非共有メモリーです。
PGAへのアクセスは、サーバー・プロセスごとに排他的です。 各サーバー・プロセスごとに1つのPGAが存在します。
バックグラウンド・プロセスにも独自のPGAが割り当てられます。
Oracle Databaseインスタンスに連結されるすべてのバックグラウンドおよびサーバー・プロセスに割り当てられる PGAメモリーの合計はインスタンスPGAメモリー合計と呼ばれ、個々のPGAの集合はインスタンスPGA合計、 または単にインスタンスPGAと呼ばれます。
うん、なんでしょう少し分かりにくい説明ですよね・・・・・
ざっくり説明すると、
SGA=共有エリア PGA=個人エリア
といった形になります。
2)使うところは?
SGAにはみんなで使う情報、基本的にはテーブルのデータや、インデックス等が ほとんどを占め、SQLの実 行計画なども含まれます。
PGAにはスタック領域、セッション情報、カーソルの状態、 ソート領域などとなっています。
説明は以上となります。
次回はまた別の用語について書いていこうと思います。