楼主: vage

[精华] 揭密Oracle之七种武器之三:破译古老的谜题---共享CBC Latch的秘密

[复制链接]
论坛徽章:
92
2011新春纪念徽章
日期:2011-01-25 15:42:33咸鸭蛋
日期:2012-03-19 10:46:00版主1段
日期:2012-05-15 15:24:11奥运会纪念徽章:排球
日期:2012-08-29 07:02:50奥运会纪念徽章:跳水
日期:2012-09-26 06:44:27ITPUB 11周年纪念徽章
日期:2012-09-28 17:34:42ITPUB 11周年纪念徽章
日期:2012-10-09 18:03:32奥运会纪念徽章:击剑
日期:2012-10-12 07:20:332013年新春福章
日期:2013-02-25 14:51:242012新春纪念徽章
日期:2012-02-13 15:13:20
71#
发表于 2013-11-21 23:21 | 只看该作者
本帖最后由 玉面飞龙 于 2013-11-29 14:15 编辑

想dtrace下 CBC latch spin多少次;貌似找不到相应的function.

使用道具 举报

回复
论坛徽章:
2
2014系统架构师大会纪念章
日期:2014-08-28 15:15:37技术图书徽章
日期:2014-09-01 08:57:03
72#
发表于 2013-12-16 11:35 | 只看该作者
顶礼膜拜

使用道具 举报

回复
论坛徽章:
70
夏利
日期:2013-09-29 21:02:15天蝎座
日期:2016-03-08 22:25:51嫦娥
日期:2014-03-04 16:46:45ITPUB年度最佳技术原创精华奖
日期:2014-03-04 16:19:29马上加薪
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:14马上有车
日期:2014-02-18 16:41:11
73#
 楼主| 发表于 2013-12-16 11:49 | 只看该作者
玉面飞龙 发表于 2013-11-21 23:21
想dtrace下 CBC latch spin多少次;貌似找不到相应的function.

龙哥是哪个版本啊,11G后 cbc latch Oracle做了很大的优化,它的代码路径比Mutex还短,它没有传门的函数了,在Solaris下使用sskgslcas加Latch,使用sskgsldecr释放。ssk开头的是操作系统依赖的函数,在其他操作系统下名字会有点不同。

使用道具 举报

回复
论坛徽章:
2
2013年新春福章
日期:2013-02-25 14:51:24雪佛兰
日期:2013-08-13 18:33:23
74#
发表于 2014-3-7 09:51 | 只看该作者
SQL> oradebug call sskgsldecr 0x8f74d418 0 0x20000012
Function returned 0

我在调用释放latch的命令的时候 返回的是0

刚才insert的那个语句也没有释放

咋回事呢?

SQL> oradebug call sskgslcas 0x8f74d418 0 0x20000012
Function returned 1

这个语句返回1 latch加锁是对的

使用道具 举报

回复
论坛徽章:
2
2013年新春福章
日期:2013-02-25 14:51:24雪佛兰
日期:2013-08-13 18:33:23
75#
发表于 2014-3-7 09:53 | 只看该作者
illinux 发表于 2014-3-7 09:51
SQL> oradebug call sskgsldecr 0x8f74d418 0 0x20000012
Function returned 0

不好意思 已经解决 是参数设错了 !!!

使用道具 举报

回复
论坛徽章:
2
2013年新春福章
日期:2013-02-25 14:51:24雪佛兰
日期:2013-08-13 18:33:23
76#
发表于 2014-3-7 11:09 | 只看该作者
SQL> oradebug call sskgslcas 0x8eb77e00 0 1
Function returned 1
(释放是:
SQL> oradebug call sskgsldecr 0x8eb77e00 1
Function returned 1

        再到另一个会话执行测试SQL,不会被阻塞。看来这才是共享模式啊

这个测试了以下 root节点是不会被阻塞的 但leaf节点会

使用道具 举报

回复
论坛徽章:
32
ITPUB十周年纪念徽章
日期:2011-11-01 16:25:22马上加薪
日期:2014-12-08 22:53:43马上有房
日期:2014-12-09 01:05:19美羊羊
日期:2015-03-04 14:52:282015年新春福章
日期:2015-03-06 11:58:18巨蟹座
日期:2015-11-17 11:02:55双子座
日期:2015-11-17 12:21:47白羊座
日期:2015-12-10 17:27:08狮子座
日期:2016-02-23 10:11:01双子座
日期:2016-02-23 10:17:05
77#
发表于 2014-3-7 11:51 | 只看该作者
牛!!!

使用道具 举报

回复
论坛徽章:
2
2013年新春福章
日期:2013-02-25 14:51:24雪佛兰
日期:2013-08-13 18:33:23
78#
发表于 2014-3-7 13:51 | 只看该作者
跟着vage的文章 算是走了一遍 做了一遍测试  只能算基本上看明白 还要仔细研究 多看几遍 多做测试 此文章真牛!!!

其中有小部分 没有验证成功 还得再多做几遍来验证

使用道具 举报

回复
论坛徽章:
70
夏利
日期:2013-09-29 21:02:15天蝎座
日期:2016-03-08 22:25:51嫦娥
日期:2014-03-04 16:46:45ITPUB年度最佳技术原创精华奖
日期:2014-03-04 16:19:29马上加薪
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:14马上有车
日期:2014-02-18 16:41:11
79#
 楼主| 发表于 2014-3-7 14:48 | 只看该作者
illinux 发表于 2014-3-7 11:09
SQL> oradebug call sskgslcas 0x8eb77e00 0 1
Function returned 1
(释放是:

是吗。用DTrace跟踪下,叶块时的申请Latch函数的参数。

10G我也确定不了了。

使用道具 举报

回复
论坛徽章:
2
2013年新春福章
日期:2013-02-25 14:51:24雪佛兰
日期:2013-08-13 18:33:23
80#
发表于 2014-3-7 16:59 | 只看该作者
vage 发表于 2014-3-7 14:48
是吗。用DTrace跟踪下,叶块时的申请Latch函数的参数。

10G我也确定不了了。

已经做过测试了 非唯一索引 确实是1个share 3个exclusive

使用道具 举报

回复

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

本版积分规则 发表回复

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