Sidebar

Quisiera mostrar cómo podemos eliminar un usuario, que por alguna razón no te lo permite mostrando el error ORA-24005.

Mi problema se genero debido a que al momento de estar importando un usuario con sus objetos a la base de datos el servidor presento una falla y se reinicio, dejando la carga incompleta.

Al momento de tratar de eliminar de nuevo el esquema para poder iniciar nuevamente me mandaba este error.

SQL> drop user miusuario cascade;
drop user miusuario cascade
*
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

Trate de ver la información de las queue tables pero me decía que no existía ninguna tabla. De manera gráfica con el TOAD también me decía que no tenia queue tables.

select QUEUE_TABLE from dba_queue_tables where owner = 'MIUSUARIO'

Como conocia el nombre de mis queue tables las busque dentro de dba_objects y ahí si estaban.

SELECT * FROM dba_objects where owner = 'MIUSUARIO' and object_name like '%QUEUE%'

Ya solamente fue cosa de eliminarlas e intentar borrar el usuario nuevamente.

begin
DBMS_AQADM.DROP_QUEUE_TABLE(queue_table=>'QUEUE_TABLE_1',force =>TRUE);
end;
/

begin
DBMS_AQADM.DROP_QUEUE_TABLE(queue_table=>'QUEUE_TABLE_2',force =>TRUE);
end;
/

SQL> drop user miusuario cascade;

User dropped.

Esperando sea de utilidad para alguno de ustedes.


Tips BD