星期四, 9月 05, 2013

[轉載] Oracle LOCK内部机制及最佳实践系列


深入分析mode 2-6 的TM锁相互间的互斥关系
Oracle TM锁的类型
锁模式
锁描述
含义
锁定表的SQL
0
None
1
Null
空,本模式是oracle预留模式
2
Row Share(RS)
又叫(SS
行级共享锁,是限制最少的TM锁,可以提供最高程度的并发性。其他会话可以对锁定的表进行任何类型的DML操作,还可以与其他会话锁并存
Lock table t in row share mode;
3
Row Exclusive Table Lock(RX)
又叫(SX)
行级排他锁,通常已经有事务在修改行或者select…for update 修改结果集。允许其他事务对锁定的表进行select insert update delete  lock table 同时锁定一张表
Lock table t in row exclusive mode;
4
Share Table Lock(S)
共享锁,其他事务可以查询锁定的表但不能修改,只允许当前事务修改,但可以多个事务持有它
Lock table t in share mode;
5
Share Row Exclusive Table Lock(SRX)
又叫SSX
共享行级排他锁,同一时间只允许一个事务持有和修改锁定的表,其他事务可以查询但不能修改
Lock table t in share row exclusive mode;
6
Exclusive Table Lock (X)
排他锁,是限制最高的TM锁,禁止其他事务执行任何类型的DML语句或者锁表
一个表一般只能有一个6号锁
Lock table t in exclusive mode;

Oracle锁模式互斥关系图
锁模式
锁名称
允许级别
互斥级别
2
行级共享锁
2 3 4 5
6
3
行级排他锁
2 3
4 5 6
4
共享锁
2 4
3 5 6
5
共享行级排他锁
2
3 4 5 6
6
排他锁
2 3 4 5 6

沒有留言:

LinkWithin-相關文件

Related Posts Plugin for WordPress, Blogger...