关于Data buffer命中率检查问题还望指教
查看网上资料说检查oracle命中率的有检查数据字典缓存命中率,latch命中率,buffer pool命中率,共享池的命中率但不清楚这些是否就是对Data buffer命中率的检查,还有关于这几种命中率的的
解释也不太明白,还望指教:handshake
--查询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 是否动态分配的合理) :hug:感谢飞总解答 xifenfei 发表于 2015-8-13 23:32
--查询Sql语句的重载率,越低越好
SELECT SUM (pins) total_pins, SUM (reloads) total_reloads,
SU ...
感谢飞总解答:hug:
页:
[1]