系统全局区(system global area):一个很大的共享内存段,几乎所有的oracle进程都要访问这个区中的某一点
进程全局区(process global area):是一个进程或线程专用的内存
用户全局区(user global area) :这个内存区与特定的会话相关联。如果使用共享服务器,UGA就在SGA中分配,如果使用专用服务器
,UGA就会在PGA中
PGA是特定于进程的一段内存。换句话说,这是一个操作系统进程或线程专用的内存,而且可以在运行时动态扩大(收缩)
实际上UGA就是会话的状态。会话总能访问这部分内存,所以说UGA的位置完全取决于你如何连接oracle,
如果通过共享服务器连接,UGA肯定存储在每个共享服务器进程都能访问的一个内存结构,也就是SGA,另一方面,如果
使用专有服务器连接,则不需要大家都能访问你的回话状态,这时候UGA就包含在服务器的PGA中。
所以说PGA包含进程内存,还可能包含UGA,而PGA的其他区通常用于内存中的排序、位图合并以及散列。
自动pga内存管理有以下两种方式
a.通过设置PGA_AGGREGATE_TARGET参数,告诉oracle总共可以使用多大的pga内存
b.设置memory_target初始化参数,告诉实例SGA和pga总共可以使用的内存大小