
Oracle ORA-00054: resource busy and acquire with NOWAIT specified
ORA-00054: resource busy and acquire with NOWAIT specified
Cause: Resource interested is busy.
Action: Retry if necessary.
I show you here how to get around this error and kill the sessions that are preventing the exclusive lock.
Note that you could also (preferred)
- Run your changes later when the database is idle.
- Do all DDL during a maintenance window when all users are not logged in
Run in SQL*Plus or SQL developer
select a.sid, a.serial# from v$session a, v$locked_object b, dba_objects c where b.object_id = c.object_id and a.sid = b.session_id and OBJECT_NAME='YouTableName';
Then note both the sid and serial and run
alter system kill session 'sid,serial#' IMMEDIATE;
If this still do not work, your last bullet is to kill the Unix process which is still hanging on your database server!
here is how to find the unix process to kill
Run in SQL*Plus or SQL developer
select p.spid,s.sid,s.serial#,s.username,s.status,s.last_call_et,
p.program,p.terminal,logon_time,module,s.osuser from V$process p,V$session s where s.paddr = p.addr and s.status = 'ACTIVE' and
s.username not like '%SYS%';
and finally run a
kill –9 spid
if this still don’t not work, your best friend is Google