Oracle introdujo la papelera de reclicaje en la versión 10. Este ejemplo muestra que Oracle no pone tablas del tablespace SYSTEM en la papelera de reciclaje tras borrarlas. Lo probé en Oracle 11.2.0.2.7. Para empezar, creé una tabla en el tablespace USERS:
SQL> conn / as sysdba
Connected.
SQL> alter session set nls_language = 'SPANISH'
2 /
Sesion modificada.
SQL> create table tab1
2 (col1 number)
3 tablespace users
4 /
Tabla creada.
SQL>
Luego borré la tabla, comprobé que podía verla en la papelera de reclicaje y la restauré:
SQL> drop table tab1
2 /
Tabla borrada.
SQL> select original_name from recyclebin
2 /
ORIGINAL_NAME
--------------------------------
TAB1
SQL> flashback table tab1 to before drop
2 /
Flashback terminado.
SQL> desc tab1
Nombre ?Nulo? Tipo
-------------------------- -------- ------------------
COL1 NUMBER
SQL>
SQL> create table tab2
SQL>
Entonces hice la misma cosa otra vez pero creé la tabla en el tablespace SYSTEM:
SQL> create table tab2
2 (col1 number)
3 tablespace system
4 /
Tabla creada.
SQL> drop table tab2
2 /
Tabla borrada.
SQL>
SQL>
Esta vez, cuando busqué la tabla en la papelera de reclicaje, no estaba allí:
SQL> select original_name from recyclebin
2 /
ninguna fila seleccionada
SQL>
... y cuando intenté a restaurar la tabla, no podía hacerlo:
SQL>
... y cuando intenté a restaurar la tabla, no podía hacerlo:
SQL> flashback table tab2 to before drop
2 /
flashback table tab2 to before drop
*
ERROR en linea 1:
ORA-38305: el objeto no esta en la papelera de
reciclaje
No hay comentarios:
Publicar un comentario