查看: 2850|回复: 7

请教db block gets direct要bypassing the buffer cache的原因?谢谢

[复制链接]
论坛徽章:
0
跳转到指定楼层
1#
发表于 2008-3-30 16:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
从v$sysstat中可以看到db block gets由db block gets from cache和db block gets direct构成.

前者很好理解,后者的含义是:"Number of times a CURRENT block was requested bypassing the buffer cache"

那么为什么要bypassing the buffer cache呢? 是因为在buffer cache中找不到吗?如果是因为在buffer cache中找不到,所以才bypassing buffer cache而到磁盘上找,那么db block gets direct的数量 + consistent gets direct的数量,就应该等于physical reads的数量,但实际确非如此,为什么呢?谢谢

[ 本帖最后由 lanyingpeng 于 2008-3-30 17:19 编辑 ]
论坛徽章:
19
ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44ITPUB北京2009年会纪念徽章
日期:2009-02-09 11:42:452010新春纪念徽章
日期:2010-03-01 11:06:13BLOG每日发帖之星
日期:2010-03-28 01:01:02ITPUB9周年纪念徽章
日期:2010-10-08 09:31:222012新春纪念徽章
日期:2012-01-04 11:51:22
2#
发表于 2008-3-30 17:11 | 只看该作者
buffer cache的目的是什么呢?
如果你需要读取的block不适合设buffer cache的目的甚至违背了其初衷
那是不是应该bypassing buffer cache呢?

使用道具 举报

回复
论坛徽章:
0
3#
 楼主| 发表于 2008-3-30 17:28 | 只看该作者
谢谢楼上前辈指点.

第二句还不太明白,既然要读这个block,就应该先到buffer cache中去找,找不到再从磁盘上找到,并先放到buffer cache中,以备下次需要时能直接从buffer cache中找到啊. 什么情况下读取的block,因为会违背buffer cache的使用目的,而不先从buffer cache中寻找,却直接到磁盘上去找了呢?

谢谢谢谢...

[ 本帖最后由 lanyingpeng 于 2008-3-30 17:45 编辑 ]

使用道具 举报

回复
论坛徽章:
19
ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44ITPUB北京2009年会纪念徽章
日期:2009-02-09 11:42:452010新春纪念徽章
日期:2010-03-01 11:06:13BLOG每日发帖之星
日期:2010-03-28 01:01:02ITPUB9周年纪念徽章
日期:2010-10-08 09:31:222012新春纪念徽章
日期:2012-01-04 11:51:22
4#
发表于 2008-3-30 18:09 | 只看该作者
第二句还不太明白,既然要读这个block,说明就应该先到buffer cache中去找,找不到再从磁盘上找到,并先放到buffer cache中,以备下次需要时能直接从buffer cache中找到啊. 什么情况下读取的block会违背buffer cache的使用目的呢?

所有情况下,要读一个block,都是“应该先到buffer cache中去找,找不到再从磁盘上找到,并先放到buffer cache中,以备下次需要时能直接从buffer cache中找到”吗?
有没有听说过,有时候数据会备读到PGA中呢?
如果大量数据要被读入,而且不会复用,那么读到buffer cache中合适吗?

这个bypassing buffer cache,是说的直接bypassing buffer cache,直接到磁盘上找; 还是说先到buffer cache中找不到而被迫到磁盘上找,然后找出来的block不放到buffer cache中去呢?

bypassing buffer cache直接到磁盘上找

使用道具 举报

回复
论坛徽章:
10
授权会员
日期:2008-03-13 10:32:44生肖徽章2007版:鸡
日期:2008-04-03 18:55:51数据库板块每日发贴之星
日期:2008-04-21 01:01:58奥运会纪念徽章:拳击
日期:2008-06-14 10:29:372014年新春福章
日期:2014-02-18 16:41:11马上有车
日期:2014-02-18 16:41:11
5#
发表于 2008-3-30 18:13 | 只看该作者
o,明白了

使用道具 举报

回复
论坛徽章:
19
ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44ITPUB北京2009年会纪念徽章
日期:2009-02-09 11:42:452010新春纪念徽章
日期:2010-03-01 11:06:13BLOG每日发帖之星
日期:2010-03-28 01:01:02ITPUB9周年纪念徽章
日期:2010-10-08 09:31:222012新春纪念徽章
日期:2012-01-04 11:51:22
6#
发表于 2008-3-30 18:31 | 只看该作者
一个不错的总结可以参考
http://digifish.bokee.com/viewdiary.19007160.html

使用道具 举报

回复
论坛徽章:
0
7#
 楼主| 发表于 2008-3-30 18:36 | 只看该作者
明白了.谢谢老大耐心指点.

使用道具 举报

回复
论坛徽章:
19
ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44ITPUB北京2009年会纪念徽章
日期:2009-02-09 11:42:452010新春纪念徽章
日期:2010-03-01 11:06:13BLOG每日发帖之星
日期:2010-03-28 01:01:02ITPUB9周年纪念徽章
日期:2010-10-08 09:31:222012新春纪念徽章
日期:2012-01-04 11:51:22
8#
发表于 2008-3-30 18:55 | 只看该作者
完全明白了吗 ?
可是我还是有点疑问呀。。。
关于db block gets direct
db block gets 是buffer cache中的current mode gets
db block gets direct应该是pga中的current mode gets吧
没有找到正式的说法
Results 1 to 1 of about 1 for db block gets direct. Didn't find any exact matches for this phrase; displaying results that contain all the words.

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表