ITPub博客

首页 > 数据库 > Oracle > oracle锁学习笔记

oracle锁学习笔记

原创 Oracle 作者:General_715 时间:2014-11-14 16:48:11 0 删除 编辑
锁
系统缓慢的原因
1.系统资源不足
2.阻塞

锁的分类
Enqueues(lock) 队列类型的锁
latches  系统资源方面的锁

TM表锁
发生在insert,update,delete以及select for updaet操作时,
目的是保证操作能够正常进行,并且阻止其他人对表进行ddl操作

TM锁 事务锁(行锁)
对于正在修改的数据,阻止其它回话进行修改

修改一张表时,会对修改的行加TM锁,同时对表加TM锁


v$lock 

update t set id=2 where id=1;
完成
update t set id=3 where id=1;
被阻塞

SQL> select * from v$lock where type in('TM','TX') order by 3,4;

ADDR     KADDR           SID TYPE          ID1        ID2      LMODE    REQUEST      CTIME      BLOCK
-------- -------- ---------- ------ ---------- ---------- ---------- ---------- ---------- ----------
2F9C3F90 2F9C3FA8        142 TM          51395          0          3          0        713          0
2FA0EE10 2FA0EF2C        142 TX         655369        216          6          0        713          1
2F9C403C 2F9C4054        146 TM          51395          0          3          0        698          0
30FB9C68 30FB9C7C        146 TX         655369        216          0          6        698          0

LMODE-拥有的锁
BLOCK-阻塞别的回话 就是以完成那个
REQUEST-请求的锁 就是被阻塞那个


SQL> select SID,EVENT from v$session_wait;

       SID EVENT
---------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------
       142 SQL*Net message to client
       146 enq: TX - row lock contention

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

下一篇: oracle内存管理
请登录后发表评论 登录
全部评论

注册时间:2013-12-08

  • 博文量
    41
  • 访问量
    132419