首页 > 数据库技术 > 详细

记一此oracle事务被锁,进程杀不掉 User session ID does not exist

时间:2020-03-12 12:29:37      阅读:118      评论:0      收藏:0      [点我收藏+]

首先

  truncate table *;

报错:

ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired

查看当前锁住的sid:

select l.session_id,o.owner,o.object_name from v$locked_object l,dba_objects o where l.object_id=o.object_id;

根据session_id查看serial#

SELECT sid, serial#, username, oSUSEr, terminal,program ,action, prev_exec_start FROM v$session where sid = 619;

杀掉占用资源: alter system kill session ‘sid,serial#‘;

alter system kill session 619,29746;

如果出现了 ORA-00030: User session ID does not exist

那么需要通过sid查看系统进程号psid

select spid, osuser, s.program from v$session s, v$process p
where s.paddr = p.addr and s.sid =619;

在oracle所在的服务器查看psid

ps -ef | grep 23421

oracle      23421   1  0 Dec21 ?        00:00:00 oracle10g (LOCAL=NO)   

这样的local=no就是可以杀掉的,如果进程中有local=yes

执行kill命令

kill -9 23421

 

记一此oracle事务被锁,进程杀不掉 User session ID does not exist

原文:https://www.cnblogs.com/pluto-yang/p/12468003.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!