Si esto se deve a un script generado para borrarlo todo, no debe de incluir los objetos que estén en la papelera de reciclaje.
Ejemplo
SQL> create table test(n varchar2(1));
Table created.
SQL> drop table test;
Table dropped.
SQL> select * from user_recyclebin;
OBJECT_NAME ORIGINAL_NAME OPERATION
----------------------- ------------------------ --------------------
TYPE TS_NAME CREATETIME
----------------- ---------------------- ----------------------------
DROPTIME DROPSCN PARTITION_NAME CAN CAN
-------------- -------------------------------- ---------------------
RELATED BASE_OBJECT PURGE_OBJECT SPACE
---------- ----------- ------------ ----------
BIN$BsQQFNUBE7jgRAAAAAAAAA==$0 TEST DROP
TABLE USERS 2005-11-30:09:24:34
2005-11-30:09:24:40 8.3374E+12 YES YES
56784 56784 56784 8
SQL> drop table "BIN$BsQQFNUBE7jgRAAAAAAAAA==$0";
drop table "BIN$BsQQFNUBE7jgRAAAAAAAAA==$0"
*
ERROR at line 1:
ORA-38301: can not perform DDL/DML over objects in Recycle Bin
Table created.
SQL> drop table test;
Table dropped.
SQL> select * from user_recyclebin;
OBJECT_NAME ORIGINAL_NAME OPERATION
----------------------- ------------------------ --------------------
TYPE TS_NAME CREATETIME
----------------- ---------------------- ----------------------------
DROPTIME DROPSCN PARTITION_NAME CAN CAN
-------------- -------------------------------- ---------------------
RELATED BASE_OBJECT PURGE_OBJECT SPACE
---------- ----------- ------------ ----------
BIN$BsQQFNUBE7jgRAAAAAAAAA==$0 TEST DROP
TABLE USERS 2005-11-30:09:24:34
2005-11-30:09:24:40 8.3374E+12 YES YES
56784 56784 56784 8
SQL> drop table "BIN$BsQQFNUBE7jgRAAAAAAAAA==$0";
drop table "BIN$BsQQFNUBE7jgRAAAAAAAAA==$0"
*
ERROR at line 1:
ORA-38301: can not perform DDL/DML over objects in Recycle Bin
Puedes realizar cambios en el script para eexcluir los objetos que están el papelera de reciclaje.
select 'drop ' || object_type || ' "' || object_name || '";' from user_objects
where object_name not in (select object_name from user_recyclebin);
where object_name not in (select object_name from user_recyclebin);
O puedes purgar la papelera de reciclaje mediante el comando PURGE:
SQL> purge recyclebin;
Recyclebin purged.
SQL> select * from user_recyclebin;
no rows selected
Recyclebin purged.
SQL> select * from user_recyclebin;
no rows selected
Muy útil, muchas gracias!
ResponderEliminar