su_o 发表于 2015-8-12 18:00:32

关于Data buffer命中率检查问题还望指教

查看网上资料说检查oracle命中率的有检查数据字典缓存命中率,latch命中率,buffer pool命中率,共享池的命中率
但不清楚这些是否就是对Data buffer命中率的检查,还有关于这几种命中率的的
解释也不太明白,还望指教:handshake






xifenfei 发表于 2015-8-13 23:32:01

--查询Sql语句的重载率,越低越好
SELECT SUM (pins) total_pins, SUM (reloads) total_reloads,
       SUM (reloads) / SUM (pins) * 100 libcache_reload_ratio
FROM v$librarycache;


--获得整体的数据缓冲命中率,越高越好
SELECT a.VALUE + b.VALUE logical_reads, c.VALUE phys_reads,
       ROUND (100 * (1 - c.VALUE / (a.VALUE + b.VALUE)), 4) hit_ratio
FROM v$sysstat a, v$sysstat b, v$sysstat c
WHERE a.NAME = 'db block gets'
   AND b.NAME = 'consistent gets'
   AND c.NAME = 'physical reads';

我这里给你贴出来了两个例子,其实现在的oracle 除非负载或者并发比较大,不然直接采用asmm,我们对于上述的一些命中率的考虑已经不太关注了,更加的关注是sga整体配置是否合适(在某些情况下,可能需要考虑shared pool和buffer cache 是否动态分配的合理)

su_o 发表于 2015-8-14 11:33:16

:hug:感谢飞总解答

su_o 发表于 2015-8-14 11:35:46

xifenfei 发表于 2015-8-13 23:32
--查询Sql语句的重载率,越低越好
SELECT SUM (pins) total_pins, SUM (reloads) total_reloads,
       SU ...

感谢飞总解答:hug:
页: [1]
查看完整版本: 关于Data buffer命中率检查问题还望指教