oracle内存: 1、SGA--服务器和后台进程不驻留在SGA中,而是存在于单独的内存空间中。
shared pool
library cache --存放解析过并执行过的SQL语句和PL/SQL代码
shared sql area
parsed sql statements
sql execution plans
parsed and compiled pl/sql program units
private sql area--用来存放当前会发的SQL语句的部分信息,不共享
(当是专用服务时,在PGA,共享服务时,在SGA)
data dictionary cache-- 数据字典是以行(ROW)的形式存放数据,其他缓存区是
以块存放的
server result cache--把语句的最终结果缓存在这里
sql query result cache
pl/sql function result cache
other
reserced pool--用于大片连续内存的分配
large pool--UGA用于共享服务器,用于并行执行语句的消息,Recovery Manager(RMAN)I
/ O从属缓冲区
free memory
I/O buffer area
UGA
response queue
request queue
database buffer cache
keep buffer pool --存放预留的数据,这部分数据会被用
DB_KEEP_CACHE_SIZE 参数限制大小
recycle buffer pool -- 存放不在需要的数据
DB_RECYCLE_CACHE_SIZE 参数限制大小
default buffer pool -- 存放没有放到其他池中的数据
redo log bufffer
fixed SGA
有关数据库和实例的状态的一般信息,后台进程需要访问它们
进程之间传递的信息,例如关于锁的信息
JAVA POOL --支持在数据库中运行JAVA代码
STREAMS POOL
2、PGA---------对应server process
sql work areas
sort area
hash area
bitmap merge area
session memory
private sql area ----专用SQL区域保存有关已解析的SQL语句和其他会话特定信息的信息以
进行处理。
persistent area
此区域包含绑定变量值。 当执行语句时,在运行时将绑定变量值提
供给SQL语句。 仅当光标关闭时,才释放持久区域。
runtime area
此区域包含查询执行状态信息。 例如,运行时区域跟踪完整表中到目
前为止检索的行数--the run-time area tracks the progress of the
full table scans
如果操作员要处理的数据量不适合工作区,那么Oracle数据库会将输入数据分成更小的部分
。 以这种方式,数据库处理存储器中的一些数据片段,而将剩余数据片段写入临时磁盘存储
器以用于稍后处理。
3、UGA
---------UGA is session memory基本上,UGA存储会话状态 and logon information。
在会话的生命周期中,UGA必须可用于数据库会话。 因此,当使用共享服务器连接
时,UGA不能存储在PGA中,因为PGA是特定于单个进程的。 因此,当使用共享服务
器连接时,UGA存储在SGA中,使任何共享服务器进程可以访问它。 当使用专用服务
器连接时,UGA存储在PGA中。
session variables
如果会话将PL / SQL包装入内存,则UGA包含包状态
OLAP pool
OLAP页面池也存储在UGA中。 此池管理OLAP数据页,这等价于数据块。 页面池在
OLAP会话开始时分配,并在会话结束时释放。 每当用户查询多维对象(例如多维数
据集)时,OLAP会话将自动打开。
4、Software Code Areas
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31401161/viewspace-2134406/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/31401161/viewspace-2134406/