zoukankan      html  css  js  c++  java
  • 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> 
    

  • 相关阅读:
    Linux启动或禁止SSH用户及IP的登录,只允许密钥验证登录模式
    emacs 入门教程,菜单汉化,配置文件等杂乱文章
    bzoj3376/poj1988[Usaco2004 Open]Cube Stacking 方块游戏 — 带权并查集
    NOIP复习篇
    HiHocoder 1036 : Trie图 AC自动机
    (皇后移动类)八数码难题引发的搜索思考及总结
    POJ 水题(刷题)进阶
    [TJOI2010] 中位数
    小球和盒子的问题
    [洛谷P2785] 物理1(phsic1)-磁通量
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13349733.html
Copyright © 2011-2022 走看看