Oracle死锁的查看以及解决办法

1. 查询被锁定的表

select b.owner,b.object_name,a.session_id,a.locked_mode from v$locked_object a,dba_objects b where b.object_id = a.object_id;

2.查询发生锁定表的会话及序列号

select b.username,b.sid,b.serial#,logon_time from v$locked_object a,v$session b where a.session_id = b.sid order by b.logon_time;

3. 结束产生锁表的会话

--杀掉对应会话即解锁,

alter system kill session ‘sid,serial#’; (其中sid=l.session_id)

如果还不能解决:

select pro.spid from v$session ses,v$process pro where ses.sid=XX and ses.paddr=pro.addr;

其中sid用死锁的sid替换: exit

ps -ef|grep spid

其中spid是这个进程的进程号,kill掉这个Oracle进程

 

posted @ 2022-11-04 16:30  joyfulest  阅读(6204)  评论(0)    收藏  举报