楼主: guoyJoe

[原创] 逻辑读产生Cache Buffer Chain(简称CBC) Latch的解析

[复制链接]
论坛徽章:
16
ITPUB9周年纪念徽章
日期:2010-10-08 09:32:262013年新春福章
日期:2013-04-08 17:42:48紫蛋头
日期:2013-03-18 12:34:29双黄蛋
日期:2013-03-11 13:04:122013年新春福章
日期:2013-02-25 14:51:24奥运纪念徽章
日期:2012-11-15 10:00:34复活蛋
日期:2012-10-31 14:26:15ITPUB 11周年纪念徽章
日期:2012-10-09 18:14:48奥运会纪念徽章:蹦床
日期:2012-09-10 10:35:46奥运会纪念徽章:花样游泳
日期:2012-09-01 12:56:56
51#
发表于 2013-3-11 12:43 | 只看该作者
2位大师写本书吧

这本书出来估计会比较经典

使用道具 举报

回复
论坛徽章:
490
红宝石
日期:2014-04-05 19:53:18海蓝宝石
日期:2014-04-05 21:24:30数据库板块每日发贴之星
日期:2013-05-27 22:53:45生肖徽章:鸡
日期:2014-08-24 18:39:29青年奥林匹克运动会-羽毛球
日期:2014-09-24 08:37:59马上有房
日期:2015-01-03 10:23:28喜羊羊
日期:2015-03-04 14:54:422015年新春福章
日期:2015-03-06 11:59:47秀才
日期:2017-04-06 18:09:28版主6段
日期:2014-05-27 02:19:57
52#
 楼主| 发表于 2013-3-11 15:06 | 只看该作者
htyansp 发表于 2013-3-11 12:43
2位大师写本书吧

这本书出来估计会比较经典

吕大马上要出书了

使用道具 举报

回复
论坛徽章:
58
生肖徽章2007版:马
日期:2009-11-06 23:12:33授权会员
日期:2013-01-10 14:38:592013年新春福章
日期:2013-02-25 14:51:24马自达
日期:2013-08-07 10:54:45红旗
日期:2013-08-09 13:48:48劳斯莱斯
日期:2013-09-12 15:56:37萤石
日期:2013-10-31 08:44:19优秀写手
日期:2013-12-18 09:29:13Jeep
日期:2014-01-14 10:53:432014年新春福章
日期:2014-02-18 16:43:09
53#
发表于 2013-3-11 16:04 | 只看该作者
guoyJoe 发表于 2013-3-11 15:06
吕大马上要出书了

向大郭学习……

使用道具 举报

回复
论坛徽章:
25
ITPUB元老
日期:2005-02-28 12:57:00咸鸭蛋
日期:2013-02-07 11:51:42咸鸭蛋
日期:2013-02-08 09:48:51蜘蛛蛋
日期:2013-02-21 15:47:392013年新春福章
日期:2013-02-25 14:51:24咸鸭蛋
日期:2013-02-28 17:08:42蜘蛛蛋
日期:2013-03-29 16:17:14双黄蛋
日期:2013-04-11 16:11:04咸鸭蛋
日期:2013-05-07 11:55:14咸鸭蛋
日期:2013-05-28 10:46:24
54#
发表于 2013-4-6 21:11 | 只看该作者
写的很好。值得推荐,最近也研究这个问题。
我有两个疑问:
1 两次cbc latch都是什么模式,share or exclusive?
2 为什么要有这两次cbc latch呢?有要修改的东西吗?的那是是touch?
3 有办法查出每个cbc latch管理那几个hash buckets,每个bucket有哪几个block吗?

使用道具 举报

回复
论坛徽章:
490
红宝石
日期:2014-04-05 19:53:18海蓝宝石
日期:2014-04-05 21:24:30数据库板块每日发贴之星
日期:2013-05-27 22:53:45生肖徽章:鸡
日期:2014-08-24 18:39:29青年奥林匹克运动会-羽毛球
日期:2014-09-24 08:37:59马上有房
日期:2015-01-03 10:23:28喜羊羊
日期:2015-03-04 14:54:422015年新春福章
日期:2015-03-06 11:59:47秀才
日期:2017-04-06 18:09:28版主6段
日期:2014-05-27 02:19:57
55#
 楼主| 发表于 2013-4-6 21:17 | 只看该作者
kerlion 发表于 2013-4-6 21:11
写的很好。值得推荐,最近也研究这个问题。
我有两个疑问:
1 两次cbc latch都是什么模式,share or exclu ...

1.两次cbc latch都是exclusive
2.为什么要有这两次cbc latch呢?修改两次bh的状态(第一次加pin 0->1 第二次释放pin 1->0)
3.做dump

使用道具 举报

回复
论坛徽章:
25
ITPUB元老
日期:2005-02-28 12:57:00咸鸭蛋
日期:2013-02-07 11:51:42咸鸭蛋
日期:2013-02-08 09:48:51蜘蛛蛋
日期:2013-02-21 15:47:392013年新春福章
日期:2013-02-25 14:51:24咸鸭蛋
日期:2013-02-28 17:08:42蜘蛛蛋
日期:2013-03-29 16:17:14双黄蛋
日期:2013-04-11 16:11:04咸鸭蛋
日期:2013-05-07 11:55:14咸鸭蛋
日期:2013-05-28 10:46:24
56#
发表于 2013-4-7 14:38 | 只看该作者
guoyJoe 发表于 2013-4-6 21:17
1.两次cbc latch都是exclusive
2.为什么要有这两次cbc latch呢?修改两次bh的状态(第一次加pin 0->1 第二 ...

也就是cr读的时候要以exclusive获取CBC latch,就是为了获取cache buffer pin,这才导致了select也会有cbc latch wait吗?

使用道具 举报

回复
论坛徽章:
490
红宝石
日期:2014-04-05 19:53:18海蓝宝石
日期:2014-04-05 21:24:30数据库板块每日发贴之星
日期:2013-05-27 22:53:45生肖徽章:鸡
日期:2014-08-24 18:39:29青年奥林匹克运动会-羽毛球
日期:2014-09-24 08:37:59马上有房
日期:2015-01-03 10:23:28喜羊羊
日期:2015-03-04 14:54:422015年新春福章
日期:2015-03-06 11:59:47秀才
日期:2017-04-06 18:09:28版主6段
日期:2014-05-27 02:19:57
57#
 楼主| 发表于 2013-4-7 14:59 | 只看该作者
kerlion 发表于 2013-4-7 14:38
也就是cr读的时候要以exclusive获取CBC latch,就是为了获取cache buffer pin,这才导致了select也会有cbc  ...

对!实际上select阻塞任何其它操作的就是CBC Latch

使用道具 举报

回复
论坛徽章:
11
2012新春纪念徽章
日期:2012-01-04 11:56:442015年新春福章
日期:2015-03-06 11:58:39暖羊羊
日期:2015-03-04 14:53:002014年新春福章
日期:2014-02-18 16:44:08问答徽章
日期:2014-01-02 15:42:02优秀写手
日期:2013-12-18 09:29:11ITPUB社区12周年站庆徽章
日期:2013-08-20 11:30:112013年新春福章
日期:2013-02-25 14:51:24复活蛋
日期:2013-01-25 13:54:43奥运纪念徽章
日期:2012-12-06 09:21:40
58#
发表于 2013-4-9 16:10 | 只看该作者
11.1的版本不能做这个试验吗?

SQL> select rowid,dbms_rowid.rowid_relative_fno(rowid) file#,dbms_rowid.rowid_block_number(rowid) block# from tt where rownum=1;

ROWID                   FILE#     BLOCK#
------------------ ---------- ----------
AAAuA4AAEAAAAA0AAA          4         52

SQL>  select hladdr from x$bh where file#=4 and dbablk=52;

未选定行

获取不到CBC latch的地址??

使用道具 举报

回复
论坛徽章:
490
红宝石
日期:2014-04-05 19:53:18海蓝宝石
日期:2014-04-05 21:24:30数据库板块每日发贴之星
日期:2013-05-27 22:53:45生肖徽章:鸡
日期:2014-08-24 18:39:29青年奥林匹克运动会-羽毛球
日期:2014-09-24 08:37:59马上有房
日期:2015-01-03 10:23:28喜羊羊
日期:2015-03-04 14:54:422015年新春福章
日期:2015-03-06 11:59:47秀才
日期:2017-04-06 18:09:28版主6段
日期:2014-05-27 02:19:57
59#
 楼主| 发表于 2013-4-9 16:43 | 只看该作者
xteitxu 发表于 2013-4-9 16:10
11.1的版本不能做这个试验吗?

SQL> select rowid,dbms_rowid.rowid_relative_fno(rowid) file#,dbms_ro ...

这个可以找到啊。我打开vm测试:
idle> idle> select rowid,dbms_rowid.rowid_relative_fno(rowid) file#,dbms_rowid.rowid_block_number(rowid) block# from gyj.t2 where rownum=1;


ROWID                   FILE#     BLOCK#
------------------ ---------- ----------
AAAS3BAADAAAAJ2AAA          3        630

idle> idle>  select hladdr from x$bh where file#=3 and dbablk=630;


HLADDR
--------
4A9BECCC

使用道具 举报

回复
论坛徽章:
490
红宝石
日期:2014-04-05 19:53:18海蓝宝石
日期:2014-04-05 21:24:30数据库板块每日发贴之星
日期:2013-05-27 22:53:45生肖徽章:鸡
日期:2014-08-24 18:39:29青年奥林匹克运动会-羽毛球
日期:2014-09-24 08:37:59马上有房
日期:2015-01-03 10:23:28喜羊羊
日期:2015-03-04 14:54:422015年新春福章
日期:2015-03-06 11:59:47秀才
日期:2017-04-06 18:09:28版主6段
日期:2014-05-27 02:19:57
60#
 楼主| 发表于 2013-4-9 16:44 | 只看该作者
本帖最后由 guoyJoe 于 2013-4-9 16:44 编辑
xteitxu 发表于 2013-4-9 16:10
11.1的版本不能做这个试验吗?

SQL> select rowid,dbms_rowid.rowid_relative_fno(rowid) file#,dbms_ro ...

你的表是建在sys用户下的???做测试最好不要在sys用户下测,很多测试在sys用户下是意想不到的结果。。。。

使用道具 举报

回复

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

本版积分规则 发表回复

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