Sga |
类型 | 类1 | 类2 | 类3 | 对应的参数 | 注意事项 | 使用方法 | 经典案例(附件) |
(server global area) | Fixed | 固定占用的内存 | LOCK_SGA参数,指定把SGA锁定在物理内存里。 | |||||
Static | Redo buffer | LOG_BUFFER | DB_CACHE_SIZE、LOG_BUFFER、SHARED_POOL_SIZE、LARGE_POOL_SIZE | |||||
Java pool | JAVA_POOL_SIZE | 整个SGA可以使用的最大值受SGA_MAX_SIZE初始化参数的限制。如果在启动instance初始化内存的时候,设置的SGA_MAX_SIZE参数比SGA组的内存之和要小,或者使用SGA_MAX_SIZE的缺省设置,那么在instance启动后,会忽略SGA_MAX_SIZE初始化参数 | ||||||
Dynamic | Buffer cache | DEFAULT BUFFER POOL | DB_CACHE_CACHE_SIZE | |||||
KEEP BUFFER POOL | DB_KEEP_CACHE_SIZE | |||||||
RECYCLE BUFFER POOL | DB_RECYCLE_CACHE_SIZE | |||||||
Shared pool | Library cache | Shared SQL areas | SHARED_POOL_SIZE | |||||
Private SQL areas | 如果是dedicated server,那么private SQL area在server process’PGA。如果是shared server,那么private SQL area在SGA里分配 | |||||||
PL/SQ areas | ||||||||
Control structures | 例如locks,library cache handles | |||||||
Dictionary cache | ||||||||
Large pool | ||||||||
Pga | Private SQL Area | cursor | 如果是dedicated server,那么private SQL area在server process’PGA。如果是shared server,那么private SQL area在SGA里分配 | |||||
(Process global area) | SQL Areas | |||||||
Session Memory | ||||||||
SQL Work areas | SORT_AREA_SIZE | PGA_AGGREGATE_TARGET和 | ||||||
WORKAREA_SIZE_POLICY需要注意的地方: | ||||||||
HASH_AREA_SIZE, | 1. DBA可以简单的,只需要设置PGA_AGGREGATE_TARGET参数来指定PGA的总大小即可,这样PGA的各内存模块大小就会被Oracle自动和全局管理了。 | |||||||
BITMAP_MERGE_AREA_SIZE, | 2. WORKAREA_SIZE_POLICY参数值缺省为auto,也只有在auto时PGA_AGGREGATE_TARGET对*_AREA_SIZE的分配管理才生效在shared server,work ares的大小不是PGA_AGGREGATE_TARGET参数分配了,因为在shared server,work areas将在SGA里分配。所有在shared server,work area仍然是由*_area_size参数控制 | |||||||
CREATE_BITMAP_AREA_SIZE |
LOCK_SGA参数,指定把SGA锁定在物理内存里。
DB_CACHE_SIZE、LOG_BUFFER、SHARED_POOL_SIZE、LARGE_POOL_SIZE
整个SGA可以使用的最大值受SGA_MAX_SIZE初始化参数的限制。如果在启动instance初始化内存的时候,设置的SGA_MAX_SIZE参数比SGA组的内存之和要小,或者使用SGA_MAX_SIZE的缺省设置,那么在instance启动后,会忽略SGA_MAX_SIZE初始化参数。
u Fixed SGA
u Static SGA
Redo log buffer
Java pool
u Dynamic SGA
buffer cache
KEEP BUFFER POOL:DB_KEEP_CACHE_SIZE
RECYCLE BUFFER POOL:DB_RECYCLE_CACHE_SIZE
DEFAULT BUFFER POOL:DB_CACHE_SIZE或DB_nK_CACHE_SIZE参数
Shared pool
Library cache:
Shared SQL areas
Private SQL areas
PL/SQL
Control structures(例如locks,library cache handles)
Dictionary cache
Large pool
u Private SQL Area: cursor和SQL Areas
如果是dedicated server,那么private SQL area在server process’PGA。如果是shared server,那么private SQL area在SGA里分配。
u Session Memory
u SQL Work areas
SORT_AREA_SIZE
HASH_AREA_SIZE,
BITMAP_MERGE_AREA_SIZE,
CREATE_BITMAP_AREA_SIZE
PGA_AGGREGATE_TARGET
WORKAREA_SIZE_POLICY
在shared server,work ares的大小不是PGA_AGGREGATE_TARGET参数分配了,因为在shared server,work areas将在SGA里分配。所有在shared server,work area仍然是由*_area_size参数控制