zoukankan      html  css  js  c++  java
  • ORACLE查找并解除死锁进程

      ORACLE查找并解除死锁进程

    1、查找死锁进程

    select /*+RULE*/v$lock.sid,
    decode(v$lock.type,
            'MR', 'Media Recovery',
            'RT','Redo Thread',
            'UN','User Name',
            'TX', 'Transaction',
            'TM', 'DML',
            'UL', 'PL/SQL User Lock',
            'DX', 'Distributed Xaction',
            'CF', 'Control File',
            'IS', 'Instance State',
            'FS', 'File Set',
            'IR', 'Instance Recovery',
            'ST', 'Disk Space Transaction',
            'TS', 'Temp Segment',
            'IV', 'Library Cache Invalida-tion',
            'LS', 'Log Start or Switch',
            'RW', 'Row Wait',
            'SQ', 'Sequence Number',
            'TE', 'Extend Table',
            'TT', 'Temp Table',
            'Unknown') LockType,
    rtrim(object_type) || ' ' || rtrim(owner) || '.' || object_name object_name,
    decode(lmode,   0, 'None',
                    1, 'Null',
                    2, 'Row-S',
                    3, 'Row-X',
                    4, 'Share',
                    5, 'S/Row-X',
                    6, 'Exclusive',        'Unknown') LockMode,
    decode(request, 0, 'None',
                    1, 'Null',
                    2, 'Row-S',
                    3, 'Row-X',
                    4, 'Share',
                    5, 'S/Row-X',
                    6, 'Exclusive', 'Unknown') RequestMode,
    ctime, block b
    from v$lock, all_objects
    where sid > 8
    and v$lock.id1 = all_objects.object_id

    如果查询结果有记录表明有锁

    2、这个SQL可用来生成杀死死锁进程的SQL

    select /*+RULE*/
     'alter system kill session ''' || a.sid || ',' || b.serial# || ''';'
     from v$lock a, all_objects c, v$session b
     where a.sid > 8
       and a.id1 = c.object_id
       and a.sid = b.sid;

    select /*+RULE*/
     'alter system kill session ''' || a.sid || ',' || b.serial# || ''';'
     from v$lock a, v$session b
     where a.sid > 8
       and a.sid = b.sid;

    3、把第二步的查询结果导出为脚本,在SQLPLUS中执行该脚本即可解除死锁。

  • 相关阅读:
    C#读写者线程(用AutoResetEvent实现同步)(转载)
    详解大端模式和小端模式(转载)
    C/C++程序员应聘试题剖析(转载)
    strcpy和memcpy的区别(转载)
    基于mini2440的Qt移植
    分布式服务以及跨平台开发清单(全栈之路)
    软件开发模式对比(瀑布、迭代、螺旋、敏捷)
    大数开方 ACM-ICPC 2018 焦作赛区网络预赛 J. Participate in E-sports
    啊啊
    括号问题
  • 原文地址:https://www.cnblogs.com/jimeper/p/733221.html
Copyright © 2011-2022 走看看