Oracle使用者查詢死鎖程序

2021-04-12 16:26:08 字數 1562 閱讀 5255

oracle使用者查詢死鎖程序的sql:

select s.sid, s.serial#,

decode(t.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(a.object_type) || ' ' || rtrim(a.owner) || '.' || a.object_name object_name,

decode(t.lmode,   0, 'none',

1, 'null',

2, 'row-s',

3, 'row-x',

4, 'share',

5, 's/row-x',

6, 'exclusive',       

'unknown') lockmode,

decode(t.request, 0, 'none',

1, 'null',

2, 'row-s',

3, 'row-x',

4, 'share',

5, 's/row-x',

6, 'exclusive',

'unknown') requestmode,

s.machine, s.module

from v$lock t, all_objects a, v$session s

where t.sid > 6

and t.id1 = a.object_id

and t.sid = s.sid

這個sql可用來生成殺死死鎖程序的sql:

select 'alter system kill session '''||a.sid||','||b.serial#||''';'

from v$lock a,all_objects c,v$session b

where a.sid > 6 and a.id1 = c.object_id and a.sid = b.sid;

oracle 查詢死鎖 免密登入 建立刪除使用者

select s.sid,s.serial from v locked object lo,dba objects ao,v session s where ao.object id lo.object id and lo.session id s.sid 解決死鎖 alter system kil...

查詢死鎖的方法

死鎖主要是由於操作不當導致執行緒之間出現相互等待,一般有source code的和pdb就可以找到死鎖的原因,只要在code中不出現terminatethread,一般均可找到原因。若使用了第三方庫,別人的code就不在我們的管控範圍以內,很難定位到具體原因。一般可以看到ntdll的臨界區被占用,r...

mysql 查詢死鎖sql

1.檢視程序 show processlist 2.檢視是否鎖表 show open tables where in use 0 3.檢視正在鎖的事務 select from information schema.innodb locks 4.檢視等待鎖的事務 select from informa...