oracle内存结构概述

系统全局区(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总共可以使用的内存大小

你可能感兴趣的:(oracle内存结构概述)