Procesamiento de la tabla de bloqueo ORA-00054
1. Fenómeno
Al eliminar una tabla, indica que el recurso está ocupado.
SQL> drop table SALEMAN;
drop table SALEMAN
ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired
2. Procesamiento
(1) Bloquear objeto
Consulta el objeto de bloqueo.
SQL> select t.OBJECT_ID,t.SESSION_ID,t.ORACLE_USERNAME from v$locked_object t;
7454 5 SCOTT
97645 1344 SCOTT
(2) Tipo de objeto de base de datos
Confirme el tipo de objeto de bloqueo en la tabla de objetos de la base de datos:
SQL> select l.object_id, t.object_name, t.object_type
2 from dba_objects t, v$locked_object l
3 where t.object_id = l.object_id ;
7454 PLAN_TABLE$ TABLE
97645 SALEMAN TABLE
97645 es la tabla SALEMAN correspondiente y el SESSION_ID correspondiente es 1344.
(3) Desbloquear objetos
SESSION_ID es 1344, consulta los valores de sid y serial#:
SQL> select sid, serial#, machine, program from v$session where sid = 1344 ;
1344 56470 WORKGROUP\THINKPAD plsqldev.exe
valores sid y serial# para desbloquear el objeto.
SQL> alter system kill session '1344,56470' ;
System altered
Eliminar tabla exitosamente:
SQL> drop table SALEMAN;
Table dropped