Drop user malgré l'erreur ORA-24005: must use DBMS_AQADM.DROP_QUEUE_TABLE to drop queue tables

Au cours de vos activités régulières, il peut vous arriver de faire un DROP USER <nom_user> CASCADE. En règle générale, cela ne pose aucun problème. Et bien ce matin, cette instruction m’a affiché l’erreur:

ERROR at line 1:
ORA-00604: error occurred at recursive SQL level 1
ORA-24005: must use DBMS_AQADM.DROP_QUEUE_TABLE to drop queue tables

Stoïque, j’ai alors recherché les tables de file d’attente appartenant à cet utilisateur avec:

select QUEUE_TABLE from DBA_QUEUE_TABLES where OWNER='nom_user';

Aucune table …..
Par acquis de conscience, j’ai alors supprimé les files d’attente de l’utilisateur SYSTEM (au cas où et parce que je le pouvais !) avec l’instruction:

execute DBMS_AQADM.DROP_QUEUE_TABLE (queue_table => 'SYSTEM.<nom_table>', force => true);

J’ai essayé à nouveau de supprimer mon utilisateur et j’ai eu la même erreur.
La solution de contournement a été de jouer l’instruction suivante avant de réessayer:

alter session set events '10851 trace name context forever, level 2';

Mon utilisateur a été supprimé !

1 réflexion sur “Drop user malgré l'erreur ORA-24005: must use DBMS_AQADM.DROP_QUEUE_TABLE to drop queue tables”

  1. William ELMIDORO

    Merci pour ce conseil, depuis le temps que je cherche la solution.
    La documentation sur le net pour cette erreur n’a jamais été très clair…
    William

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *