enq: TX - row lock contention“等待事件的处理
 
session1:
SQL> conn scott/triger
Connected.
SQL> CREATE TABLE tx_eg ( num number, txt varchar2(10), sex varchar2
(10) ) INITRANS 1 MAXTRANS 1;
INSERT into tx_eg VALUES ( 1, 'First','FEMALE' );
INSERT into tx_eg VALUES ( 2, 'Second','MALE' );
INSERT into tx_eg VALUES ( 3, 'Third','MALE' );
INSERT into tx_eg VALUES ( 4, 'Fourth','MALE' );
INSERT into tx_eg VALUES ( 5, 'Fifth','MALE' );
COMMIT;
Table created.
SQL> 
1 row created.
SQL> 
1 row created.
SQL> 
1 row created.
SQL> 
1 row created.
SQL> 
1 row created.
SQL> 
Commit complete.
SQL> UPDATE tx_eg SET txt='Garbage' WHERE num=1;
1 row updated.
 
 
session2:oracle@localhost ~]$ !sql
sqlplus / as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Tue Sep 24 15:43:20 2013
Copyright (c) 1982, 2005, Oracle.  All rights reserved.
 
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit
Production
With the Partitioning, OLAP and Data Mining options
SQL> conn scott/triger
Connected.
SQL> UPDATE tx_eg SET txt='Garbage' WHERE num=1;
 
 
解决方法:
SQL> select * from v$session_wait;
       SID       SEQ# EVENT                                          
                 P1TEXT                                              
                    P1 P1RAW           P2TEXT                        
                                          P2 P2RAW
---------- ----------
----------------------------------------------------------------
----------------------------------------------------------------
---------- ----------------
----------------------------------------------------------------
---------- ----------------
P3TEXT                                                               
   P3 P3RAW            WAIT_CLASS_ID WAIT_CLASS# WAIT_CLASS          
                           WAIT_TIME SECONDS_IN_WAIT STATE
----------------------------------------------------------------
---------- ---------------- ------------- -----------
----------------------------------------------------------------
---------- --------------- -------------------
       135         33 enq: TX - row lock contention                  
                 name|mode                                           
            1415053318 0000000054580006 usn<<16 | slot               
                                      131073 0000000000020001
sequence                                                             
 1761 00000000000006E1    4217450380           1 Application         
                           0             2554 WAITING
       136         33 enq: TX - row lock contention                  
                 name|mode                                           
            1415053318 0000000054580006 usn<<16 | slot               
                                      131073 0000000000020001
sequence                                                             
 1761 00000000000006E1    4217450380           1 Application         
                           0              912 WAITING
       138         87 SQL*Net message from client                    
                 driver id                                           
            1650815232 0000000062657100 #bytes                       
                                           1 0000000000000001
                                                                     
    0 00                  2723168908           6 Idle                
                           0             1987 WAITING
       141       5425 i/o slave wait                                 
                 msg ptr                                             
            2188218896 00000000826D9210                              
                                           0 00
                                                                     
    0 00                  2723168908           6 Idle                
                           0              661 WAITING
 
发现enq: TX - row lock contention 
 
sql>select SID,TYPE,ID1,ID2,LMODE,REQUEST,CTIME,BLOCK from V$lock
where block=1 or request<>0;
       SID TY        ID1        ID2      LMODE    REQUEST      CTIME 
    BLOCK
---------- -- ---------- ---------- ---------- ---------- ----------
----------
       135 TX     131073       1761          0          6       1840 
        0
       136 TX     131073       1761          0          6        198 
        0
       138 TX     131073       1761          6          0       1852 
        1
---查看sid 138 在做什么
SQL>  select sid,event,SQL_ADDRESS,SQL_ID from v$session where
sid=138;
       SID EVENT
----------
----------------------------------------------------------------
SQL_ADDRESS      SQL_ID
---------------- -------------
       138 SQL*Net message from client
00
 
去看看具体等待什么吧
SQL> select sid,event,SQL_ADDRESS,SQL_ID from v$session
   where sid in (7879,8167);
  SID EVENT                                              SQL_ADDRESS 
    SQL_ID
----- --------------------------------------------------
---------------- -------------
 7879 enq: TX - row lock contention                     
C000000CCE8A76F0 08qruv04r2v6d
 8167 enq: TX - row lock contention                     
C000000CCE8A76F0 08qruv04r2v6d
 
看看sql语句是什么
SQL> select SQL_ID,SQL_TEXT from v$sql
  2*     where sql_id = '08qruv04r2v6d'
 
-----查看等待的对象
SQL> SELECT owner, object_name, subobject_name, value
  2  FROM v$segment_statistics
  3  WHERE statistic_name='row lock waits'
  4  AND value > 0
  5  ORDER BY 4 DESC;
OWNER                          OBJECT_NAME
------------------------------ ------------------------------
SUBOBJECT_NAME                      VALUE
------------------------------ ----------
SCOTT                          TX_EG
 
 
方法二:
SQL> SELECT row_wait_obj#,
  2    row_wait_file#,
  3    row_wait_block#,
  4    row_wait_row#
  5  FROM v$session
  6  WHERE sid=135;
ROW_WAIT_OBJ# ROW_WAIT_FILE# ROW_WAIT_BLOCK# ROW_WAIT_ROW#
------------- -------------- --------------- -------------
        54999              4             485             0
SQL> select object_name from dba_objects where object_id  in (54999);
OBJECT_NAME
---------------------------------------------------------------------
-----------
TX_EG
 
SQL> select sid,serial# from v$session  where sid=5364;
  SID    SERIAL#
----- ----------
 5364      24841
 
 
--杀会话
alter system kill session '5364,24841';
-------查找对应的操作系统进程号:
SQL> select paddr from v$session where sid= 5364;
PADDR
----------------
C000000D2194FCD0
SQL> select spid from v$process where addr='C000000D2194FCD0';
SPID
------------------------
19669
 
 
整合为一句:
Select spid from v$process where addr in(select paddr from v$session
where sid= xxxx;)
SQL> ! ps -ef | grep 19669
  orapp0 19669     1  0  Jul 20  ?         0:03 oraclePP0
(DESCRIPTION=(LOCAL=NO)(SDU=32767))
 
和客户应用管理人员确认后,执行alter system kill session '5364,24841';
命令没能杀掉该会话,只好在操作系统层面通过kill -9 19669杀掉进程,结束会话

enq: TX - row lock contention“等待事件的处理的更多相关文章

  1. 大表建立索引引发enq: TX - row lock contention等待

    今天要给一张日志表(6000w数据)建立索引,导致生产系统行锁部分功能卡住 create index idx_tb_cid on tb_login_log(user_id); 开始执行后大概花费了20 ...

  2. ORACLE等待事件:enq: TX - row lock contention

    enq: TX - row lock contention等待事件,这个是数据库里面一个比较常见的等待事件.enq是enqueue的缩写,它是一种保护共享资源的锁定机制,一个排队机制,先进先出(FIF ...

  3. 解决一则enq: TX – row lock contention的性能故障

    上周二早上,收到项目组的一封邮件: 早上联代以下时间点用户有反馈EDI导入"假死",我们跟踪了EDI导入服务,服务是正常在跑,可能是处理的慢所以用户感觉是"假死" ...

  4. ORACLE AWR结合ASH诊断分析enq: TX - row lock contention

    公司用户反馈一系统在14:00~15:00(2016-08-16)这个时间段反应比较慢,于是生成了这个时间段的AWR报告, 如上所示,通过Elapsed Time和DB Time对比分析,可以看出在这 ...

  5. AWR之-enq TX - row lock contention的性能故障-转

    1 对这一个小时进行AWR的收集和分析,首先,从报告头中看到DB Time达到近500分钟,(DB Time)/Elapsed=8,这个比值偏高:   Snap Id Snap Time Sessio ...

  6. [Oracle] enq: TX - row lock contention 优化案例

    依据开发反馈.近期每天早上7:30应用会报警.应用的日志显示数据库连接池满了.新的连接被拒绝. 首先.我做了ASH报告(报告区间:7:25 ~ 7:35),从ASH的等待事件发现enq: TX - r ...

  7. enq: TX - row lock contention故障处理一则

    一个非常easy的问题,之所以让我对这个问题进行总结.一是由于没我想象的简单,在处理的过程中遇到了一些磕磕碰碰,甚至绕了一些弯路.二是引发了我对故障处理时的一些思考. 6月19日,下午5点左右.数据库 ...

  8. enq: TX - row lock contention 参数P1,P2,P3说明

    enq: TX - row lock contention三个参数,例如,下面的等待事件 * P1 = name|mode          <<<<<<< ...

  9. 记一则update 发生enq: TX - row lock contention 的处理方法

    根据事后在虚拟机中复现客户现场发生的情况,做一次记录(简化部分过程,原理不变) 客户端1执行update语句 SQL> select * from test; ID NAME --------- ...

随机推荐

  1. jQuery和AJAX基础

    jQuery和AJAX基础 jQuery 基础: 1.jQuery 选择器: 元素选择器:$("p"): #id 选择器:$("#test"): .class ...

  2. Ubuntu下HTTPS配置

    Ubuntu下HTTPS配置非常简单,对大部分用户而言,使用普通的自签名证书,只需按照步骤进行就可以了,无需了解密钥.证书的更多知识,更深的背景知识还有RSA算法.DES算法.X509规范.CA机构. ...

  3. Android 6.0 运行时权限处理完全解析 (摘抄)

    转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/50709663: 本文出自:[张鸿洋的博客] 一.概述 随着Android 6. ...

  4. linux 删除文件后空间没有释放的解决办法

    清空没用的文件,当我删除文件后,发现可用空间沒有变化 os:centos4.7 现象: 发现当前磁盘空间使用情况: [root@ticketb ~]# df -hFilesystem          ...

  5. Java多态的应用

    //多态的应用 class Animal{     public void eat(){     } } class Dog extends Animal{     public void eat() ...

  6. web前端性能优化 (share)

    本文转自:http://www.cnblogs.com/50614090/archive/2011/08/19/2145620.html 一. WEB前台的优化规则 一.尽量减少 HTTP 请求 有几 ...

  7. POJ Washing Clothes 洗衣服 (01背包,微变型)

    题意:有多种颜色的衣服,由两个人合作来洗,必须洗完一种颜色才能洗下一种,求需要多少时间能洗完. 思路:将衣服按颜色分类,对每种颜色进行01背包,容量上限是该种颜色衣服全部洗完的耗时长一半,其实就是在最 ...

  8. codevs 3344 迷宫

    时间限制: 1 s  空间限制: 32000 KB  题目等级 : 黄金 Gold 题目描述 Description 小刚在迷宫内,他需要从A点出发,按顺序经过B,C,D……,到达最后一个点,再回到A ...

  9. codevs 5462 HYY迎亲I

    时间限制: 1 s 空间限制: 256000 KB 题目等级 : 青铜 Bronze 题目描述 Description HYY要娶山那头的JCH,可毕竟是山路,十分崎岖,他又十分的单(bai)纯(ch ...

  10. 编译驱动链接到了Kernel32库问题

    最近开始学习驱动编程,根据网上的配置方法配置了驱动开发环境,用了一个简单的例子测试发现驱动居然链接到了kerner32库里面去了如图 : 显然是把Kernel.lib添加到了附加依赖库 如图 : 去掉 ...