Oracle中止执行语句,提示“资源正忙,要求指定NOWAIT”

使用以下语句查询

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

可以得到进程的SID和SERIAL#序号,然后按照下列语句解锁:
alter system kill session ‘139,33663’;
正常情况下,就能解决,但是有时候执行该语句会报:oracle标记要终止的会话下述错误
可以使用下述语句找到被killed的进程(因为Oracle里面可能你已经杀死了进程,但是实际上他还没有被杀死,只是被标记了killed并没有执行)。

select a.spid,b.sid,b.serial#,b.username 
from v$process a,v$session b 
where a.addr=b.paddr 
and b.status='KILLED'

select b.spid,a.osuser,b.program 
  from v$session a,v$process b 
 where a.paddr=b.addr 
   and a.sid=139

找到 spid,然后在cmd中使用orakill orcl spid命令立即中止进程即可。
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值