oracle查询sga建议值,Oracle命中率查询,SGA调优

Oracle命中率查询,SGA调优

--数据高速缓存区命中率

--计算公式:1-(physical reads / (db block gets + consistent gets))

--命中率应大于0.90最好

select name,value

from v$sysstat

where name in ('physical reads','db block gets','consistent gets')

/

--共享区库缓存区命中率

--计算公式:SUM(pins - reloads) / SUM(pins)

--命中率应大于0.99

select sum(pins-reloads)/sum(pins)

from v$librarycache

/

--共享区字典缓存区命中率

--计算公式:SUM(gets - getmisses - usage -fixed) / SUM(gets)

--命中率应大于0.85

select sum(gets-getmisses-usage-fixed)/sum(gets)

from v$rowcache

/

--检测回滚段的争用

--SUM(waits)值应小于SUM(gets)值的1%

select sum(gets),sum(waits),sum(waits)/sum(gets)

from v$rollstat

/

--检测回滚段收缩次数

select name,shrinks

from v$rollstat, v$rollname

where v$rollstat.usn = v$rollname.usn

/

--关于SGA的调优

(****) : OS 使用内存+ SGA + session*(sort_area_size + hash_area_size + 2M) < 总物理RAM 为好

log_buffer : 128K ---- 1M 之间通常问题不大,不应该太大

large_pool_size :如果不设置MTS,通常在 RMAN 、OPQ 会使用到,但是在10M --- 50M 应该差不多了。

java_pool_size : 若不使用java,给30M通常就够了

data buffer ,在做了前面的设置后,凡可以提供给oracle的内存,都应该给data buffer = (db_block_size * db_block_buffers)

不能设置 shared_pool_size 过大,通常应该控制在200M--300M

再具体化,注意满足上面(****) 的原则的基础上可以参考如下设置

如果512M RAM

建议 shared_pool_size = 50M, data buffer = 200M

如果1G RAM

shared_pool_size = 100M , data buffer = 500M

如果2G

shared_pool_size = 150M ,data buffer = 1.2G

物理内存再大已经跟参数没有关系了

假定64 bit ORACLE

内存4G

shared_pool_size = 200M , data buffer = 2.5G

内存8G

shared_pool_size = 300M , data buffer = 5G

内存 12G

shared_pool_size = 300M-----800M , data buffer = 8G

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值