楼主: ZALBB

[精华] 我对ORACLE数据锁的一点体会

[复制链接]
论坛徽章:
2
2008新春纪念徽章
日期:2008-02-13 12:43:032010新春纪念徽章
日期:2010-03-01 11:08:24
41#
发表于 2004-10-27 12:51 | 只看该作者
不好意思今天才看到大侠的精彩文章,受益非浅,还有一点问题希望不吝赐教:
1)根据大侠所解释:在行级加的都是X锁,而在表级加的都是意向锁,那么orcle中s锁究竟是什么时候用呢?
2)既然ORACLE在行级只有X锁,那么RS和RX锁应该没什么区别了,感觉只需要RX锁就行了。
3)SRX锁在oracle中是什么时候使用

希望大侠回答我的三个问题。谢谢!!

使用道具 举报

回复
论坛徽章:
3
授权会员
日期:2005-10-30 17:05:33ITPUB技术丛书作者
日期:2010-09-26 15:24:56优秀写手
日期:2014-02-13 06:00:15
42#
发表于 2004-10-27 18:04 | 只看该作者

回复fly_bug朋友的三个问题

1.我应该没有说过“在表级加的都是意向锁”,这么说应该比较确切:在表级的S、X、IS、IX、SIX等5种锁中,S、X不是意向锁,IS、IX是意向锁,SIX是S与IX的组合;一般的DML语句多数情况下不会在表级加S、X、SIX锁,这种情况多发生在有外键的情况,可参考本人今日的BLOG;
http://jeffli73.china-pub.com

2.我想应该从这个角度看,虽然在行级加的都是X锁(实质上是行上的标志位置位),但SELECT FOR UPDATE还没有改变数据,而INSERT/UPDATE/DELETE改变了数据,那么它们对其它并发事务的影响肯定是不一样的,比如RS与S相容,而RX与S不相容,所以有必要区分;
3.与S出现的情况类似,出现在外键引用的是自己所在表的主键情况;(如果你使用ORACLE8,可以在一个表上建立一个自引用,如EMP表上的MGR引用EMPNO,删除一条记录,可以观察到SRX锁;

使用道具 举报

回复
论坛徽章:
60
2007年度最佳版主
日期:2008-04-03 16:46:15现任管理团队成员
日期:2011-05-07 01:45:08双黄蛋
日期:2011-06-15 17:03:34ITPUB十周年纪念徽章
日期:2011-11-01 16:19:412012新春纪念徽章
日期:2012-01-04 11:49:542012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:20
43#
发表于 2005-1-19 19:26 | 只看该作者

Re: 我感到非常遗憾

最初由 jeffli73 发布
[B]我感到非常遗憾,楼主没有完全看懂我写的那篇《Oracle多粒度封锁机制研究》,这可能主要是本人水平有限、表达不清所致。

要理解Oracle的封锁机制,关键要搞清为什么要“多粒度”及为什么要引入“意向锁”。

[/B]


不说"封锁"不好么?封锁,更像一个动词

Lock,更多的时候是名词

使用道具 举报

回复
论坛徽章:
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
44#
发表于 2005-1-24 15:00 | 只看该作者
我想表结构ddl锁是通过 library cache pin/library cache lock 实现的

使用道具 举报

回复
论坛徽章:
2
授权会员
日期:2005-10-30 17:05:33会员2006贡献徽章
日期:2006-04-17 13:46:34
45#
发表于 2005-6-14 15:10 | 只看该作者
今天看了一下。。感觉咋这么熟呢?
                                 
想想大学课本就有介绍,而且深度层次和这里的讨论差不多。。
                                
<< 数据库系统概论 >>王珊,萨师煊著。属于dbms系统实现的基础部分啊!

使用道具 举报

回复
论坛徽章:
64
会员2007贡献徽章
日期:2007-09-26 18:42:10NBA常规赛纪念章
日期:2008-04-18 19:48:16欧洲冠军杯纪念徽章
日期:2008-05-23 14:31:342009新春纪念徽章
日期:2009-01-04 14:52:28NBA常规赛纪念章
日期:2009-04-16 14:28:42NBA季后赛纪念徽章
日期:2009-06-16 11:28:172010新春纪念徽章
日期:2010-01-04 08:33:08
46#
发表于 2006-2-6 17:51 | 只看该作者

to jeffli73 侠之大者

jeffli73  侠之大者 :
请问你那篇《Oracle多粒度封锁机制研究》是在什么版本下进行的?

使用道具 举报

回复
论坛徽章:
64
会员2007贡献徽章
日期:2007-09-26 18:42:10NBA常规赛纪念章
日期:2008-04-18 19:48:16欧洲冠军杯纪念徽章
日期:2008-05-23 14:31:342009新春纪念徽章
日期:2009-01-04 14:52:28NBA常规赛纪念章
日期:2009-04-16 14:28:42NBA季后赛纪念徽章
日期:2009-06-16 11:28:172010新春纪念徽章
日期:2010-01-04 08:33:08
47#
发表于 2006-2-6 17:57 | 只看该作者
我发现我测试时看到的和你写的有点不同,比如:4.3        参照完整性引发的锁阻塞
alter table t2 add constraint fk_t1 foreign key(a) references t1(a);
其中t1的id为10187,t2的id为10189
当session1:
SQL> insert into t1 values(4);

已创建 1 行。

时,session3下@showalllock.sql结果如下:
       SID TY        ID1        ID2 LOCK_TYPE               REQUEST      CTIME
---------- -- ---------- ---------- -------------------- ---------- ----------
     BLOCK
----------
        10 TX     131119        206 Exclusive                     0          3
         0

        10 TM      10189          0 Row share                     0          3
         0

        10 TM      10187          0 Row Exclusive                 0          3
         0
也就是多了一个对t2表的10 TM      10189          0 Row share。

使用道具 举报

回复
论坛徽章:
0
48#
发表于 2006-10-24 13:35 | 只看该作者
顶一下!!

使用道具 举报

回复
论坛徽章:
2
数据库板块每日发贴之星
日期:2006-11-12 01:03:13ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44
49#
发表于 2006-11-13 10:56 | 只看该作者
故事还没讲完呢,等着看精彩故事了!

使用道具 举报

回复
论坛徽章:
1
ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44
50#
发表于 2007-3-12 12:01 | 只看该作者
还是不明白

使用道具 举报

回复

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

本版积分规则 发表回复

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