• enq: TX


    10.3.6.2.4 TX enqueue:
    
    那些是排他的当一个事务开始它的第一次改变持有知道COMMIT或者ROLLBACK:
    
    Waits for TX in mode 6:
    
    发生当一个session 是等待一个row level lock 被其他session持有。
    
    这个发生在一个yoghurt是更新或者删除一个记录, 另外一个session需要来更新或者删除。
    
    这类TX enqueue 等待对应于 wait event enq: TX - row lock contention.
    
    
    解决方案是第一个持有lock的session执行一个COMMIT或者ROLLBACK
    
    SESSION 1:
    
    SQL> select * from v$mystat where rownum<2;
    
           SID STATISTIC#	   VALUE
    ---------- ---------- ----------
          1178	    0	       0
    SQL> update test set id=200 where id=2;
    
    已更新 1 行。
    
    
    
    SESSION 2:
    
    
    SQL> select * from v$mystat where rownum<2;
    
           SID STATISTIC#	   VALUE
    ---------- ---------- ----------
           584	    0	       0
    
    SQL> 
    SQL> update test set id=300 where id=2;  --hang
    
    
    SQL>  select * from v$lock a where sid in (1178,584) and type in ('TM','TX');
    
    ADDR		 KADDR			 SID TY        ID1	  ID2	   LMODE    REQUEST	 CTIME	    BLOCK
    ---------------- ---------------- ---------- -- ---------- ---------- ---------- ---------- ---------- ----------
    00000001840D1910 00000001840D1968	 584 TX     196631	47429	       0	  6	    81		0
    00007FB180654A68 00007FB180654AC8	 584 TM      99891	    0	       3	  0	    81		0
    00007FB180654A68 00007FB180654AC8	1178 TM      99891	    0	       3	  0	   131		0
    000000017F752FA0 000000017F753018	1178 TX     196631	47429	       6	  0	   131		1
    
    
    
    SQL> select sid, SERIAL#, USERNAME,p1,p2,p3,event, BLOCKING_SESSION from v$session where sid in (1178,584);
    
           SID    SERIAL# USERNAME				     P1 	P2	   P3 EVENT							       BLOCKING_SESSION
    ---------- ---------- ------------------------------ ---------- ---------- ---------- ---------------------------------------------------------------- ----------------
           584	49455 QUERY			     1415053318     196631	47429 enq: TX - row lock contention						   1178
          1178	53813 QUERY			     1650815232 	 1	    0 SQL*Net message from client
    
    SQL> 
    

  • 相关阅读:
    关于silverlight打印模糊的问题
    Microsoft Office Excel 不能访问文件及COM无法访问
    IE8 下 select option 内容过长 , 展开时信息显示不全解决办法
    如何用css做一个细虚线边框表格
    DIV 垂直 垂直水平 居中
    Ul li 横排 菜单
    对原生js的一些小尝试
    Nodejs学习笔记——Assert(断言)
    Octopress创建GitHub Pages——基于代码托管的静态博客
    JS倒计时器一只,顺便复习javascript时间相关函数
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13349733.html
Copyright © 2020-2023  润新知