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中执行该脚本即可解除死锁。

  • 相关阅读:
    Aspnet_regsql.exe命令行使用小结
    ListView用法学习
    < %=...%>< %#... %>< % %>< %@ %>
    jQuery入门简介
    oracle基础琐碎总结删除数据
    WindowsPhone基础琐碎总结数据绑定(一)
    ADO.NET基础琐碎总结参数化查询
    oracle基础琐碎总结Where和Having的区别与联系
    第一次使用 Windows Live Writer
    WindowsPhone基础琐碎总结数据绑定(二)
  • 原文地址:https://www.cnblogs.com/jimeper/p/733221.html
Copyright © 2011-2022 走看看