Traitement de la table de verrouillage Oracle ORA-00054

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

Guess you like

Origin blog.csdn.net/qq_39065491/article/details/132169390