memory structure
sga 只有一个,而pga是一个progress server 一个。
SGA 包括 shared pool 、database buffe cache、redo log buffer、large pool、java pool ,后两个可选
SGA 是dynamic的,可以调整的。
SGA_MAX_SIZE 确定SGA的最大值
granules 是SGA的分配单元,通过
select compoment ,granule_size from v$sga_dynamic_compoments;
DB_CACHE_SIZE,LOG_BUFFER, SHARED_POOL_SIZE, LARGER_POOL_SIZE,JAVA_POOL_SIZE.
oracle在10g版本及以后引入了SGA自动分配内存,只要分配了SGA最大内存,那么它的内部组件的尺寸分配时自动的。
shared pool:
存储最近执行的解析过的sql语句。(当发出sql后,需要oracle去解析语句,执行计划等)
存储
两大部件:Libary cache 存储最近使用的编译后的sql和存储过程。
Data dictionary cache 数据字典缓存
database buffe cache
存储数据文件的。 stores copies of data blocks that have bean retrived from the data files。
redo log buffer
records all changes made to the database data blocks.
primay purpose is recovery
size defined by log_buffer
PGA:
一个process 一个pga。启动就分配,结束就销毁。