Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2252968
  • 博文数量: 310
  • 博客积分: 6853
  • 博客等级: 准将
  • 技术积分: 2833
  • 用 户 组: 普通用户
  • 注册时间: 2005-08-04 16:41
文章分类

全部博文(310)

文章存档

2013年(17)

2012年(42)

2011年(76)

2010年(71)

2009年(99)

2007年(2)

2006年(1)

2005年(2)

分类: Oracle

2009-10-26 16:34:39

转自:


Oracle数据库性能调优中,我们需要观察缓存命中率(Measure the Buffer Cache Hit Ratio
)时,可以使用下面的语句:

rem-----------------------------------------------------------------------
rem 测量缓存命中率
rem -----------------------------------------------------------------------

-- 获取初始缓存命中率...
SELECT ROUND((1-(phy.value / (cur.value + con.value)))*100,2) "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'
/

-- 我们人为来增加缓存命中率...
DECLARE
v_dummy dual.dummy%TYPE;
BEGIN
FOR I IN 1..1000 LOOP
SELECT dummy INTO v_dummy FROM dual;
END LOOP;
END;
/

-- 我们再来测量...
SELECT ROUND((1-(phy.value / (cur.value + con.value)))*100,2) "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'
/

(the end)

阅读(958) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~