背景:
有时候数据库中的某些表会出现死锁状态,这就会导致页面查询直接卡死
解决办法:
需要把处于死锁状态的表及id查询出来,这里的id类似于服务器上面的进程id,查询出来之后,直接把第一列结果复制出来执行,即可kill死锁进程。
执行的sql:
SELECT ‘alter system kill session ‘’’ || a.sid || ‘,’ || a.serial# || ‘’’;’,
c.object_name,
b.*
FROM v
p
r
o
c
e
s
s
p
,
v
process p, v
processp,vsession a, v$locked_object b, all_objects c
WHERE p.addr = a.paddr
AND a.process = b.process
AND c.object_id = b.object_id
结果如下图:
kill掉死锁的进程:
alter system kill session ‘1371,3092’;
alter system kill session ‘805,1939’;
至此,数据库表死锁问题即可完美解决。