A partir da versão 10g do Oracle, é possível recuperar uma tabela que foi excluída (DROP), graças a uma tabela do sistema chamada RecycleBin e a um recurso chamado Flashback
Vamos ao Exemplo:
Crio uma tabela
create table Tabela1
(id integer, nome varchar(50));
Populo a tabela com alguns registros
insert into tabela1 (id, nome) values (1, 'Napa 1');
insert into tabela1 (id, nome) values (2, 'Napa 2');
insert into tabela1 (id, nome) values (3, 'Napa 2');
insert into tabela1 (id, nome) values (4, 'Napa 3');
COMMIT;
Consulto os dados da tabela
select * from tabela1
Agora dou um Drop na tabela
drop table tabela1
Tento dar um novo select na tabela: retornará erro
select * from tabela1
Note que ela fica armazenada na tabela recyclebin
select * from recyclebin
Para recuperar a tabela, executo o comando abaixo
flashback table tabela1 TO before DROP
Um novo select na tabela e os dados estarão lá
select * from tabela1
OBSERVAÇÕES IMPORTANTES
Os objetos dropados permanecem na tabela recyclebin até que:
- Seja restaurada através do comando UNDROP;
- Seja dropado permanentemente através do comando PURGE;
- Até que não tenha espaço suficiente para os objetos regulares na tablespace;
- As Contraints referencial não são protegidas pela recyclebin;
Observações extraídas de: ProfissionaisOracle.com.br
Nenhum comentário:
Postar um comentário