删表时出了个ORA-00054:
[scott@ORCL Session(422301)]#drop table t;
drop table t
*
ERROR at line 1:
ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired
解决方式如下:
-------------------------------------------------------------------
1.查看被锁的对象:
[scott@ORCL]#select object_name,session_id,oracle_username
from v$locked_object t1, user_objects t2
where t1.object_id = t2.object_id;
OBJECT_NAME SESSION_ID ORACLE_USERNAME
------------ ---------- ------------------------------------------------------------
T 133 SCOTT
2.取得sid和serial#:
[sys@ORCL]#select sid, serial#, username, osuser from v$session where sid='133';
SID SERIAL# USERNAME OSUSER
---------- ---------- ---------------- ----------------
133 2560 SCOTT oracle
3. kill session:
[sys@ORCL]#alter system kill session '133, 2560';
alter system kill session '133, 2560'
*
ERROR at line 1:
ORA-00030: User session ID does not exist.
报了个错,但是那个session已经被删除了。
[scott@ORCL]#select object_name,session_id,oracle_username
2 from v$locked_object t1, user_objects t2
3 where t1.object_id = t2.object_id;
no rows selected