ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 各种锁的含义

各种锁的含义

原创 Linux操作系统 作者:syzxlyx_cu 时间:2009-09-28 11:35:16 0 删除 编辑

从V$LOCK里面看到的lmode就是我们能从数据字典里,能看到的所有的锁类型

一共有6种

数字越大,锁的级别就越高

0:none
1:null 空
2:Row-S 行共享(RS):共享表锁,sub share
3:Row-X 行独占(RX):用于行的修改,sub exclusive
4:Share 共享锁(S):阻止其他DML操作,share
5:S/Row-X 共享行独占(SRX):阻止其他事务操作,share/sub exclusive
6:exclusive 独占(X):独立访问使用,exclusive


0和1

其中1 select 有时候会加上

2 行共享锁(Select for update,Lock For Update,Lock Row Share )

 select for update语句用于锁定行,阻止其他用户在该行上修改数据。当该行被锁定后其他用户可以用SELECT语句查询该行的数据,但不能修改或锁定该行

3行独占(Insert, Update, Delete, Lock Row Exclusive )

 

4共享锁(Create Index, Lock Share)

不影响select  操作

5共享行独占(Lock Share Row Exclusive) 
具体来讲有主外键约束时update / delete ... ; 可能会产生4,5的锁。


6独占锁(Alter table, Drop table, Drop Index, Truncate table, Lock Exclusive)

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/20542911/viewspace-615758/,如需转载,请注明出处,否则将追究法律责任。

下一篇: oracle bug
请登录后发表评论 登录
全部评论

注册时间:2009-09-28

  • 博文量
    125
  • 访问量
    124073