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...