监视与管理内存
SGA
show parameter sga_max_size
NAME TYPE VALUE
sga_max_size big integer 248M
SGA 上限设置
在实例初始化时,如果参数文件中 SGA_MAX_SIZE 的值小于 Oracle 为 SGA 各组件分配的内存之和(依据参数文件中的显式设定值或系统的默认值),Oracle 将忽略
SGA_MAX_SIZE 参数
show parameter lock_sga
NAME TYPE VALUE
lock_sga boolean FALSE
是否保证 SGA 只使用物理内存
show parameter shared_memory_address
NAME TYPE VALUE
hi_shared_memory_address integer 0
shared_memory_address integer 0
指定 SGA 的起始地址
show parameter use_indirect_data_buffers
NAME TYPE VALUE
use_indirect_data_buffers boolean FALSE
第 34 页
控制是否使用扩展数据缓存机制,此功能只适用于支持 4GB 内存的 32 位系统。如果平台不支持 4GB 内存,此参数将被忽略。
select sum(bytes)/1024/1024 from v$sgastat;
SUM(BYTES)/1024/1024
248.003654
实际 SGA 大小
select * from v$sgainfo;
NAME BYTES RES
Fixed SGA Size 1248404 No
Redo Buffers 7139328 No
Buffer Cache Size 92274688 Yes
Shared Pool Size 104857600 Yes
Large Pool Size 20971520 Yes
Java Pool Size 20971520 Yes
Streams Pool Size 12582912 Yes
Granule Size 4194304 No
Maximum SGA Size 260046848 No
Startup overhead in Shared Pool 62914560 No
Free SGA Memory Available 0
显示了各个 SGA 内部组件名称及大小。
Granule Size SGA 的粒度大小
各个内存组件当前容量及最近一次改变容量操作的类型和时间可以通过 V$SGA_DYNAMIC_COMPONENTS 视图进行查询。
维护着一个先进先出的缓冲区(circular buffer),其中记录了最近 400 次调整 SGA 内存组件容量的操作,可以通过 V$SGA_RESIZE_OPS 视图查询这个缓冲区。
注:除 sga_max_size 和 log_buffer 外,其他区内大小设置都为动态参数
如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!
赞3
添加新评论0 条评论