博客园站长
这是人类成长进步中记录的每一时刻

原地址:http://blog.sina.com.cn/s/blog_681cd80d0100l4rd.html

 

系统有一个不用的索引,想删除这个索引,

SQL> drop index GPSTIME_GLOBAL_INDEX
  2  /
drop index GPSTIME_GLOBAL_INDEX
           *
ERROR at line 1:
ORA-00054: resource busy and acquire with NOWAIT specified

 

现现这个问题的原因是正在执行的操作请求的资源正被其他事务锁定。

 

出现这种问题后查V$LOCKED_OBJECT,要么等事务结束后再做,要么杀掉持有锁的会话(如果不是关键会话):

1.通过上句查找出已被锁定的数据库表及相关的sid、serial#及spid
select object_name as 对象名称,s.sid,s.serial#,p.spid as 系统进程号
from v$locked_object l , dba_objects o , v$session s , v$process p
where l.object_id=o.object_id and l.session_id=s.sid and s.paddr=p.addr;

2.在数据库中灭掉相关session
alter system kill session 'sid,serial#';--sid及serial#为第一步查出来的数据。

posted on 2013-12-30 10:22  dm3344  阅读(551)  评论(0编辑  收藏  举报