认识Oracle数据库System Global Area (SGA)(4)

3.5 Log buffer命中率检查

  检查语句:

  

     SQL>select (req.value*5000)/entries.value "Ratio"

  from v$sysstat req, v$sysstat entries

  where req.name = 'redo log space requests'

  and entries.name = 'redo entries';

  调整原则:

  命中率不应该高于1.

  如果该值过高,应调高log_buffer的大小。

  4 SGA 的参数设置原则

  在 Oracle8i 时,SGA 的大小是由初始化参数文件内的某些参数所设定,最麻烦的是每次调整参数之后必须等重新激活数据库才生效。从Oracle9i 开始,DBA 可以动态配置内存的大小;这样的技术我们称为「dynamicSGA」。有了dynamic SGA ,SGA的各组成区域都可以动态地进行规划与调整,而不需先关闭数据库。

  在Oracle9i中,SGA_MAX_SIZE可设定 SGA 所占用的最大内存空间。需要注意的是:SGA_MAX_SIZE 尽量不要超过物理内存大小,否则将会使用到硬盘上的虚拟内存,反而导致性能低下。如果 SGA_MAX_SIZE 之设定值小于其它 SGA 相关参数设定值的总和,或是小于各相关参数默认值的总和,则 SGA_MAX_SIZE 之设定值无效。

  在SGA的基本概念部分,已经介绍了各个部分大小设置的原则,这里再用一句话来总结:

  1)数据库缓冲区建议占物理内存的20%-30%。物理内存在1G以内,可以占20%,1G-2G之间可占25%,物理内存在2G以上,可以占30%,甚至更高。

  2)共享区建议在150M-500M之间。如果系统内存为1G,该值可设为150M-200M;如果为2G,该值设为250M-300M;每增加1G内存,该值增加100M;但该值最大不应超过500M。

  3)重做日志缓冲区建议设为1M。

  4)如果应用系统不使用MTS,也不使用RMAN,Large pool的大小可设为1M。否则设为16M。

  5)如果应用系统不使用RMAN,Java pool值的大小可设为1M。否则设为50M。如果系统需要安装补丁,建议先把Java pool值的大小临时增加到50-150M。

  调整完上述参数后,一定要计算SGA的尺寸,总原则是SGA的尺寸应小于物理内存的一半。SGA的计算方法如下:SGA=DB_BLOCK_BUFFERS*DB_BLOCK_SIZE+SHARED_POOL_SIZE+LOG_BUFFER。同时还要保证(SGA+sort_area_size*sesson数量)不大于物理内存的70%。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值