这样的:
1、sql>select * from v$access where object='YOUR_PROCEDURE_NAME';
记录结果中的sid
2、sql>select paddr from v$session where sid in (如上的sid);
或
sql>select sid,serial# from v$session where sid in (如上的sid);
3、select spid from v$process where addr in (如上的paddr);
然后kill -9 spid(在操作系统上做)
或
sql>alter system kill session 'sid,serial#';
4、再执行一下1,如没记录返回了,证明没有锁的了,然后你再重编译一下就可以了。
1、sql>select * from v$access where object='YOUR_PROCEDURE_NAME';
记录结果中的sid
2、sql>select paddr from v$session where sid in (如上的sid);
或
sql>select sid,serial# from v$session where sid in (如上的sid);
3、select spid from v$process where addr in (如上的paddr);
然后kill -9 spid(在操作系统上做)
或
sql>alter system kill session 'sid,serial#';
4、再执行一下1,如没记录返回了,证明没有锁的了,然后你再重编译一下就可以了。
那你就用kill -9 这种方法吧,这是在unix 下用的
如果你是windows 的,打开任务管理器杀掉那个进程。