ITPub博客

首页 > 数据库 > Oracle > ORA-02049:超时分布式事务处理等待锁,解决方法

ORA-02049:超时分布式事务处理等待锁,解决方法

原创 Oracle 作者:mikeliuy 时间:2016-06-20 13:49:40 0 删除 编辑



1、以sysdba登录,查询死锁信息

SELECT username,
       lockwait,
       status,
       machine,
       program
  FROM v$session
 WHERE sid IN (SELECT session_id FROM v$locked_object);

2、查找被锁的SQL语句

SELECT sql_text
  FROM v$sql
 WHERE hash_value IN (SELECT sql_hash_value
                        FROM v$session
                       WHERE sid IN (SELECT session_id FROM v$locked_object));

3、查找被死锁的进程

SELECT s.username,
       l.OBJECT_ID,
       l.SESSION_ID,
       s.SERIAL#,
       l.ORACLE_USERNAME,
       l.OS_USER_NAME,
       l.PROCESS
  FROM V$LOCKED_OBJECT l, V$SESSION S
 WHERE l.SESSION_ID = S.SID;

4、根据实际情况决定是否kill

alter system kill session ‘sid,serial#’;

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

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

注册时间:2012-06-18

  • 博文量
    72
  • 访问量
    382493