ORA-00054 锁表处理
1. 现象
删除表的时候,提示资源繁忙。
SQL> drop table SALEMAN;
drop table SALEMANORA-00054: resource busy and acquire with NOWAIT specified or timeout expired
2.处理
(1)锁对象
查询锁对象。
SQL> select t.OBJECT_ID,t.SESSION_ID,t.ORACLE_USERNAME from v$locked_object t;7454          5 SCOTT97645       1344 SCOTT(2)数据库对象类型
在数据库对象表中确认锁对象类型:
SQL> select l.object_id, t.object_name, t.object_type2    from dba_objects t, v$locked_object l3   where t.object_id = l.object_id ;7454 PLAN_TABLE$                                                                      TABLE97645 SALEMAN                                                                          TABLE
97645 是对应的SALEMAN表,对应的SESSION_ID是1344 。
(3)解锁对象
SESSION_ID是1344 ,查询sid和 serial#值:
SQL> select sid, serial#, machine, program from v$session where sid = 1344 ;1344      56470 WORKGROUP\THINKPAD                                      plsqldev.exe
sid和 serial#值,解锁对象。
SQL> alter system kill session '1344,56470' ;System altered删除表成功:
SQL>  drop table SALEMAN;Table dropped