Traitement de la table de verrouillage ORA-00054
1. Phénomène
Lors de la suppression d'une table, cela indique que la ressource est occupée.
SQL> drop table SALEMAN;
drop table SALEMAN
ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired
2. Traitement
(1) Verrouiller l'objet
Interrogez l'objet de verrouillage.
SQL> select t.OBJECT_ID,t.SESSION_ID,t.ORACLE_USERNAME from v$locked_object t;
7454 5 SCOTT
97645 1344 SCOTT
(2) Type d'objet de base de données
Confirmez le type d'objet de verrouillage dans la table des objets de base de données :
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 est la table SALEMAN correspondante et le SESSION_ID correspondant est 1344.
(3) Déverrouiller des objets
SESSION_ID est 1344, interrogez les valeurs sid et Serial# :
SQL> select sid, serial#, machine, program from v$session where sid = 1344 ;
1344 56470 WORKGROUP\THINKPAD plsqldev.exe
valeurs sid et Serial# pour déverrouiller l'objet.
SQL> alter system kill session '1344,56470' ;
System altered
Supprimer la table avec succès :
SQL> drop table SALEMAN;
Table dropped