转:ORACLE查找并解除死锁进程
来源:互联网 发布:淘宝注册账号网站 编辑:程序博客网 时间:2024/05/22 01:48
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中执行该脚本即可解除死锁。
- 转:ORACLE查找并解除死锁进程
- oracle查询并解除死锁的方法
- Oracle用户查找死锁进程
- 查看oracle死锁进程并结束死锁
- oracle 解除记录死锁
- 解除Oracle会话死锁
- 解除Oracle死锁
- oracle 解除死锁
- oracle 解除死锁
- Oracle解除死锁
- Oracle解除死锁
- 帮助你解脱困扰:发现并解除ORACLE数据库死锁
- 查询并解除oracle的死锁的方法
- 进程死锁的原因以及如何解除死锁
- oracle 查找死锁
- oracle杀死死锁进程
- 杀死Oracle死锁进程
- Oracle杀死死锁进程
- ISP应用
- WIP_PERIOD_BALANCE 中找不到記錄
- State and Notifications Broker
- 写程序10大习惯和如何提高编程能力
- MTK平台驱动基本介绍-2
- 转:ORACLE查找并解除死锁进程
- ubuntu 下尝鲜使用IPv6
- sort函数
- SQL2005下通用分页存储过程,支持多字段排序,多表连接,多表嵌套
- [转]安全讲座
- MTK平台驱动基本介绍-1
- 历经磨难,程序员生涯终于开始
- MTK图层原理加案例讲解
- c# 实现窗体拖到屏幕边缘自动隐藏