删除表时遇到 ORA-00054:资源正忙,要求指定NOWAIT 错误。以前在灾备中心遇到过。
资源被锁定了,没有办法删除。
报错日志:ORA-00054: resource busy and acquire with NOWAIT specified
解决办法:
1:找出所有被锁的对象,定位出哪个回话占用
select l.session_id,o.owner,o.object_name
from v$locked_object l,dba_objects o
where l.object_id=o.object_id
2:找出所有照成锁的会话
select t2.username,t2.sid,t2.serial#,t2.logon_time
from v$locked_object t1,v$session t2
where t1.session_id=t2.sid order by t2.logon_time;
通过语句2找到session id,把锁掉的session 给杀掉就可以 了(权限有无?)。
利用下面的语句杀:
3:kill 所有占用资源的会话
命令形式:alter system kill session 'sid,serial#';