引起数据库对象无法DROP的原因是对象正在被执行,另一个是对象执行后资源未释放.
第一种情况是将可能被删除对象的调用情况取消或暂停.
第二种情况 在oracle中kill一个session采用如下语句:
SQL> conn /as sysdba
已连接。
查看被锁的对象信息.
SQL> select * from v$locked_object;
执行以下SQL来找出此被锁的会话,记录下b.PID,b.SPID 的值
select a.sid,a.serial#,a.paddr,a.username,a.status,b.PID,b.SPID from v$session a,v$process b where username is not null and a.paddr = b.addr;
删除被锁的对象Session
alter system kill session ‘a.sid,a.serial#‘ ;
最后在unix环境用kill -9 b.spid杀掉进程,在windows环境用orakill sid spid杀掉进程;
各位小主。尽请补充,谢谢
大家也可以看看数据库锁的相关介绍:http://blog.itpub.net/787018/viewspace-628986/
时间: 2024-10-15 03:13:56