contatti

oracle flashback drop function

oracle : versione 10 e successive

Si cancella (drop) una tabella per errore e si vuole 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
e 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 i seguenti comandi:
select OWNER,OBJECT_NAME from dba_recyclebin where ORIGINAL_NAME='nome_tabella';
OWNER   OBJECT_NAME
SCHEMA1   BIN$f1A3BJEARiDgRAAUwhCSJw==$0

oppure usare il comando equivalente:
show recyclebin;

Infine per recuperare l' errore :
flashback table "SCHEMA1"."BIN$f1A3BJEARiDgRAAUwhCSJw==$0" to before drop rename to nome_tabella;

simplesix