分类:
2008-10-28 14:18:40
创建表
table test (a number,b number);
表已创建。
1 对于未提交的insert操作
into test values(10,20);
已创建 1 行。
SQL> select * from v$lock; |
可见,对于未提交的insert操作,会产生两个锁,其类型(TYPE)分别为TM和TX,也就是表级意向锁和事务锁。
表级意向锁的模式(LMODE)为:3,表示是row exclusive,即表示此表中的某行获得了行排他锁。
事务锁的模式(LMODE)为:6, 表示是exclusive,即排他锁,表示此事务获得了排他锁。
BLOCK表示此锁是否阻塞了其它的锁,即发生死锁;此处没有。
2 对于提交的insert操作
;
提交完成。
SQL> select * from v$lock; |
此处已没有记录,说明在提交后,即完成了锁的释放。
3 对于未提交的update操作
test set a=11 where a=10;
已更新 1 行。
SQL> select * from v$lock; |
可见update操作所引起的锁的信息完全等同于insert操作……
4 对于提交的update操作
;
提交完成。
SQL> select * from v$lock; |
此处已没有记录,说明在提交后,即完成了锁的释放。
[1]