oracle查看死锁的sql,Oracle检查死锁的sql(转)

本文提供了一种使用SQL语句检查Oracle数据库中死锁的方法。包括两种查询方式:一种是简单查询,显示进程间的阻塞关系;另一种是详细查询,展示阻塞进程与等待进程的详细信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

检查死锁的sql语句

1.

SELECT SID, DECODE(BLOCK, 0, 'NO', 'YES' ) BLOCKER, DECODE(REQUEST, 0, 'NO','YES' ) WAITER

FROM V$LOCK

WHERE REQUEST > 0 OR BLOCK > 0

ORDER BY block DESC;

2.

SELECT bs.username "Blocking User", bs.username "DB User",         ws.username "Waiting User", bs.sid "SID", ws.sid "WSID",         bs.serial# "Serial#", bs.sql_address "address",         bs.sql_hash_value "Sql hash", bs.program "Blocking App",         ws.program "Waiting App", bs.machine "Blocking Machine",         ws.machine "Waiting Machine", bs.osuser "Blocking OS User",         ws.osuser "Waiting OS User", bs.serial# "Serial#",         ws.serial# "WSerial#",         DECODE (wk.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 Invalidation',                 'LS', 'LOG START OR Switch',                 'RW', 'ROW Wait',                 'SQ', 'Sequence Number',                 'TE', 'Extend TABLE',                 'TT', 'Temp TABLE',                 wk.TYPE                 ) lock_type,         DECODE (hk.lmode,                 0, 'None',                 1, 'NULL',                 2, 'ROW-S (SS)',                 3, 'ROW-X (SX)',                 4, 'SHARE',                 5, 'S/ROW-X (SSX)',                 6, 'EXCLUSIVE',                 TO_CHAR (hk.lmode)                 ) mode_held,         DECODE (wk.request,                 0, 'None',                 1, 'NULL',                 2, 'ROW-S (SS)',                 3, 'ROW-X (SX)',                 4, 'SHARE',                 5, 'S/ROW-X (SSX)',                 6, 'EXCLUSIVE',                 TO_CHAR (wk.request)                 ) mode_requested,         TO_CHAR (hk.id1) lock_id1, TO_CHAR (hk.id2) lock_id2,         DECODE (hk.BLOCK,                 0, 'NOT Blocking', /* Not blocking any other processes */                 1, 'Blocking', /* This lock blocks other processes */                 2, 'Global', /* This lock is global, so we can't tell */                 TO_CHAR (hk.BLOCK)                 ) blocking_others FROM v$lock hk, v$session bs, v$lock wk, v$session ws WHERE hk.BLOCK = 1 AND hk.lmode != 0 AND hk.lmode != 1 AND wk.request != 0 AND wk.TYPE(+) = hk.TYPE AND wk.id1(+) = hk.id1 AND wk.id2(+) = hk.id2 AND hk.sid = bs.sid(+) AND wk.sid = ws.sid(+) AND (bs.username IS NOT NULL) AND (bs.username <> 'SYSTEM') AND (bs.username <> 'SYS') ORDER BY 1;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值