Oracle数据库死锁导致EAS系统卡顿原创
金蝶云社区-星河远帆
星河远帆
2人赞赏了该文章 725次浏览 未经作者许可,禁止转载编辑于2021年12月10日 11:57:58

可以尝试清理数据库死锁,来排查eas系统卡顿问题


解决方法如下

1、

--查询阻塞的会话session

SELECT lpad(' ', DECODE(request, 0, 0, 1)) || sid sess,

id1,

id2,

lmode,

request,

type

FROM V$LOCK

WHERE id1 IN (SELECT id1 FROM V$LOCK WHERE lmode = 0) and lmode=6

ORDER BY id1, request


2、

--查询会话信息SPID      SID     SERIAL#

select p.SPID, s.sid,s.serial#, s.*

from v$session s, v$process p

where sid in (上条语句查询出的sess) and p.ADDR = s.PADDR


3、

记录下如下信息

SPID      SID     SERIAL#


4、

--查询会话堵塞的数据库表,验证是否与卡死功能相关

select b.object_name, a.* from v$locked_object a, dba_objects b

where session_id in (441) and a.object_id = b.object_id


5、

杀掉sid为441的session

alter system kill session '441,47439';(其中441,47439分别是第四步查出的SID和SERIAL#的值)

 

6、

如果第五步不成功,就需要在操作系统下终止进程。

kill -9 26358

(其中26358 是第四步查出SPID的值)

 

处理完成后,select * from dba_waiters无记录返回,数据库恢复正常。



本文内容由Vekoy贡献,转载请注明。



赞 2