这个该死的问题困扰了好久,多方分析之后,才知道,存储过程编译没完成,或者编译失败时,oracle 数据库会自动把相应的存储过程锁起来,最无赖的做法 是重启数据库,此问题就解决
每天重启两次数据库想死的心都有了,经过今天的查找 终于找的好的解决方法
一 , 找到之前调试的存储过程 名称,使用一下语句找到 sid
select va.sid,va.OBJECT from v$access va where object like 'SP_%'
二 、拿到sid之后,去 v$session视图 去查询 sid,serial#SELECT SID,SERIAL#,PADDR FROM V$SESSION WHERE SID= 140
三、拿到 sid,serial# 之后就简单了,直接杀死 session,存储过程就可以重新编译了
alter system kill session '140,10555'