【Oracle】安装配置数据库体系架构PL/SQL备份与恢复性能调优Oracle开发

您现在的位置:首页 > 网络学院 > 数据库 > Oracle > PL/SQL > Oracle数据库检查死锁的sql

Oracle数据库检查死锁的sql

来源: 作者: 日期:2007-07-01

【聚杰网PL/SQL】Oracle数据库检查死锁的sql

实现代码如下:


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;

 

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;

以下相关文章您是否也应该阅读一下 无相关信息
评论   点击查看全部评论
您的评论参与,将为聚杰带来更大的动力!请不要吝啬!
快速回复
请使用文明语言让我们维护健康绿色网络环境!

匿名发表   验证码: