PLSQL调试存储过程无法关闭,杀掉正在执行的存储过程

在调试Oracle存储过程时,如果遇到无法结束的情况,可以按照以下步骤解决:首先,通过查询V$DB_OBJECT_CACHE和V$ACCESS视图找到自己的进程,接着在V$SESSION中获取SID和SERIAL#信息,或者使用V$PROCESS和V$SESSION结合查询SPID。然后,使用ALTERSYSTEMKILLSESSION命令结束相关会话,从而强制关闭存储过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

总结查询记录:


问我描述:当调试存储过程的时候,有时会出现无法结束存储过程的问题,无法关闭,强制关闭plsql,再次调试

无法进入存储过程,这个时候需要手动kill进程,具体操作如下:

1.首先确认具体哪个进程是自己的

select * from V$DB_OBJECT_CACHE where LOCKS!='0' and owner='数据库用户名'
select * from v$access where owner='数据库用户名'

2.查询sid,serial#信息
select sid,serial#,paddr from v$session where  osuser='计算机用户名'

也用如下语句查询spid

select spid, osuser, s.program from v$process p, v$session s where p.addr=s.paddr and osuser='计算机用户名'

杀进程语句

ALTER SYSTEM KILL SESSION 'sid,serial#'; -- 2步骤中查出的sid,serial#信息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值