UGAとPGA

UGAはセッションのメモリ。PGAはサーバプロセスのメモリ。今更ながら理解できた。
http://www.freelists.org/post/oracle-l/UGA-and-PGA-basic-question,1

ソートという作業をするのはあくまでサーバプロセスであって、結果以外の作業用メモリは解放してもよいし、解放するべき。だから作業用メモリはPGAになる。共有サーバの場合でもそれは変わらない(少なくとも10g以降は)。専用サーバの場合はソート結果はそのサーバプロセスだけが読めればよいから、PGAのなかのUGAに残る。共有サーバの場合はソート結果は他の共有サーバから読めなければならないからSGA上のUGAに残る。理論的には納得できる。時間をとって検証して確定させたい。共有サーバの場合はフェッチするごとに処理するサーバプロセスが違うというのも結構驚き。

共有サーバだろうと専用サーバだろうとソートなどの作業領域はPGA_AGGREGATE_TARGETの制約を10g以降は受ける。