1Z0-024的一些重要的比率(ratio)

             在024中,介绍了不少比率,几乎贯穿了024的主要课程。这些比率就往往就是调整的目标,也是考试的重点,由于分布在各个章节,学完之后感觉不好记,现在将其放在一起,统一进行比较,对理解或许有些好处。写的时候参考了Oracle concept、sybex ocp等书籍,因此可能和sg上不完全一样,如果有错误或疏漏也肯请指出来,希望起到抛砖引玉的作用。


1.库缓存(Library cache)的gethitratio
(1)概念:Gethitratio用来表明库缓存的命中率,这个值应该大于90%。
(2)计算方法:V$LIBRARYCACHE视图中的GETHITRATIO列。这个列值等于GETHITS/GETS。
(3)相关解释:
GETS:要求获得该命名空间对象的锁的次数
GETHITS:在库缓存中获得对象句柄的次数
(4)达不到要求的处理方法:
调整应用程序来改进语句


2.库缓存的Reloads-to-Pins 命中率
(1)概念:反映语句执行时重新编译次数与所有语句执行的次数的比率。这个比率要求小于1%
(2)计算方法:V$LIBRARYCACHE视图中的Reloads列值和除以PINS列之和。SUM(RELOADS)/SUM(PINS)
(3)相关解释
RELOADS如果执行语句由于库缓存失效或者编译的版本无效就会导致重载
PINS:SQL语句执行的次数
(4)达不到要求的处理方法
增大SHARED_POOL_SIZE


3.数据字典缓存(data dictionary cache)的请求导致缓存失效率:
(1)计算方法:V$ROWCACHE的GETMISSES列之和除以GETS列之和。SUM(GETMISSES)/SUM(GETS)。该比率要小于15%。
(2)相关解释:
GETMISSES:没有从数据字典缓存中获取数据的次数
GETS:请求获得数据字典缓存的对应类别资源的次数
由于实例启动的时候,数据字典缓存中没有内容,因此注定了会发生GETMISSES情况,因此不能指望GETMISSES为0。
(3)达不到要求的处理方法:
增加SHARED_POOL_SIZE


4.数据库缓冲区(database buffer cache)命中率,要求大于90%
(1)概念:物理I/O会显著增加时间和CPU的负担,因此服务进程要求的数据能够在缓冲区中获得得越多,性能越好。这个命中率就用来反映数据块在内存中获得的百分比
(2)计算方法
   SELECT 1 - (phy.value / (cur.value + con.value))
"CACHE HIT RATIO" FROM v$sysstat cur, v$sysstat con, v$sysstat phy
WHERE cur.name = 'db block gets' AND con.name = 'consistent gets'
AND phy.name = 'physical reads';
(3)相关解释
‘db block gets’:对当前块的访问块数
‘consistent gets’:对读一致性块的访问块数
‘physical reads’:从物理文件读取得块数
‘db block gets’+’consistent gets’构成了数据请求总数   
(4)达不到要求的处理方法
增加DB_BLOCK_BUFFERS,对于设置该参数还有很多其它方面的考虑,具体应参考SG的6-13上的说明。


5.LRU命中率,要求大于99%
(1)概念:
该命中率用来反映是否存在LRU latch(最近最少使用闩)争用
(2)计算方法:
SELECT name,1-sleeps/gets "LRU Hit%"
FROM v$latch WHERE name='cache buffers lru chain';
(3)相关解释:
LRU:Least recently used,最近最少使用。Oracle用LRU机制维护数据库缓冲区,使得最近使用的块存放在数据库缓冲区,重新获取数据的时候,可以直接从缓冲区中来获得,而不必进行I/O,从而提高性能。
‘cache buffers lru chain’:数据库缓冲区的LRU链信息。
SLEEPS:等待相应资源的次数
GETS:获取到相应资源的次数
(4)达不到要求的处理方法:
考虑增加DB_BLOCK_LRU_LATCHES。设置该参数还有很多其它方面的考虑,具体应参考SG的6-33上的说明。


6.重做缓冲区分配尝试统计信息的比率(Redo buffer Allocation Retries Statistics Ratio),要求小于1%
(1)概念:
该比率用来衡量联机日志缓冲区(Redo log buffer)的性能
(2)计算方法:
      SELECT (RETRIES.VALUE/ENTRIES.VALUE)*100||'%' FROM V$SYSSTAT RETRIES,V$SYSSTAT ENTRIES WHERE RETRIES.NAME
='redo buffer allocation retries' AND ENTRIES.NAME='redo entries'
(3)相关解释:
redo buffer allocation retries:
    用户服务进程尝试把新的联机日志条写入日志缓冲区时,如果这时后没有可用的缓冲区,就会试图覆盖日志缓冲区的现有条目。但是当LGWR进程还没有将当前的条目写入到联机日志文件,用户服务进程就必须等待,然后重新尝试。该统计信息就是统计这种情况发生的次数。
redo entries
该统计信息反映了DML、DDL语句的重做信息的总数
(4)达不到要求的处理方法:


7.回退段等待次数/获取次数比率:要求小于5%
(1)概念:
用来诊断是否存在回退段头(Rollback segment header)争用的情况
(2)计算方法:
select sum(waits)*100 /sum(gets) "Ratio" from v$rollstat;
(3)相关解释:
不知道为什么,SG上有些矛盾,先是说该比率应该小于1%,又说应该小于5%,我考试的时候正好有这到题,提到了应该是5%,因此这里我写要求要小于5%。主要是我对这个统计没有什么实际经验。但有一点是肯定的,这个值越小越好,考试中也不会出很相近的值供选择。
(4)达不到要求的处理方法:
创建更多的回退段


8.磁盘排序与内存排序之比:要求小于5%
(1)概念
用来反映语句排序性能情况。很多语句需要排序,例如: DISTINCT、ORDER BY、GROUP BY、UNION等等。在硬盘中进行的排序越少,性能越好。
(2)计算方法
select (disk.value/mem.value)*100 "Ratio"
from v$sysstat mem, v$sysstat disk
where mem.name = 'sorts (memory)' and disk.name = 'sorts (disk)';
(3)达不到要求的处理方法:
增加SORT_AREA_SIZE

 

http://www.itpub.net/250668.html  


 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/35489/viewspace-417679/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/35489/viewspace-417679/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值