contatti
contacts

oracle flashback function drop table

oracle : versione 10 e successive

Si cancella (drop) una tabella per errore e si desidera ripristinare la tabella con i dati.
Dalla versione 10 di oracle e' stata introdotta la funzione di flashback drop
che tiene una copia della tabella cancellata nel tablespace.
Il tablespace deve essere definito locally managed e non deve essere il system tablespace.
La tabella "droppata" viene tenuta nel tablespace finche' c' e' spazio disponibile
La gestione dello spazio per le tabelle cancellate (recyclebin)
viene gestita dal database senza alcun intervento manuale .

Per vedere se e' possibile fare una recovery della tabella e' necessario
connettersi al database e dare il seguente comando
(in questo esempio la tabella cancellata si chiama table1) :
select OWNER,OBJECT_NAME from dba_recyclebin where ORIGINAL_NAME='table1';
OWNER   OBJECT_NAME
SCHEMA1   BIN$f1A3BJEARiDgRAAUwhCSJw==$0

oppure usare il comando equivalente:
show recyclebin;

Infine per recuperare la tabella, eseguire il comando :
flashback table "SCHEMA1". "BIN$f1A3BJEARiDgRAAUwhCSJw==$0" before drop rename to table1;

simplesix