ITPub博客

首页 > 数据库 > Oracle > 【优化】TX行锁

【优化】TX行锁

原创 Oracle 作者:Kevin_Weig 时间:2018-04-26 06:40:23 0 删除 编辑
1、含义
等待事件: enq: TX - row lock contention

2、发生场景
    1)、当前会话要更新或删除的记录,已经被其他会话更新或删除。
     2)、对于表上有唯一索引的情况,多个会话插入或更新为相同的键值。
     3)、对于表上有位图索引的情况,多个会话即使更新不同记录,只要这些记录在位图索引上的键值相同,也会产生行锁。

3、危害
    1)、业务操作长时间无法完成
     2)、会导致会话积压
          数据库连接池逐渐被占满,应用获取不到数据源,无法创建新的数据库连接或操作系统CPU、内存资源逐渐耗尽,无法创建新的数据库连接
     3)、会导致产生其他争用,如bufferbusy wait, ITL contention等 

4、解决方案
     先行会话需要结束事务(transaction):commit或者rollback
     或者强制结束先行会话:kill session

5、案例


6、导致此情形的典型情况

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

请登录后发表评论 登录
全部评论

注册时间:2017-07-17

  • 博文量
    43
  • 访问量
    15380