Artigo da SQL Magazine 29 - Flashback Drop no Oracle 10g

Artigo da SQL Magazine - edição 29.

Clique aqui para ler esse artigo em PDF.

Clique aqui para ler todos os artigos desta edição

Flashback Drop no Oracle 10g

Rodrigo Salviatto

Você já deve ter utilizado o flashback na versão do Oracle 9i. Ainda assim irá ficar fascinado com a versão do Oracle 10g.

Neste artigo, além de apresentar funcionalidades presente no Oracle 9i, iremos apresentar um importante recurso que foi estendido na versão 10g, onde é possível restaurar uma tabela do banco de dados (com todos os registros intactos) após um comando DROP TABLE executado acidentalmente, por exemplo. Não está acreditando? Vamos lá!

O que é o Oracle Flashback Table

O Oracle Flashback Table lhe permite recuperar tabelas num ponto específico do passado através de uma simples query.

Você poderá restaurar os dados de uma tabela juntamente com seus índices, triggers e constraints, mesmo com banco de dados on-line, desfazendo as alterações feitas em apenas uma tabela, por exemplo. Vale lembrar que o Oracle Flashback Table não é capaz de recuperar dados quando há uma corrupção física (por exemplo, um problema de disco ou segmentos de dados ou índices inconsistentes).

Através do Flashback Table, será possível recuperar uma tabela e seus dados de acordo com uma determinada janela de tempo, por exemplo, quero recuperar a tabela CLIENTES e seus dados conforme ela estava na data de 06/02/2006 às 13h20’, ou ainda, a um determinado número de alterações do sistema (SCN – System Change Number). Este é um número gerado pelo próprio Oracle para determinar a sincronização de cada datafile juntamente com o controlfile, ou seja, a cada momento que ocorre um evento Check Point, o Oracle sincroniza todos os datafiles e controlfile gerando um número. Este identificará que todos os dados estão íntegros e devidamente gravados nos datafiles até aquele determinado instante. É possível utilizar este número como argumento para definir o momento do tempo que se quer a tabela recuperada.

Versão Oracle 9i x Oracle 10g

Na versão 9i existe apenas o recurso de FLASHBACK QUERY. Este é utilizado para restaurar dados (registros) em um determinado ponto do passado, porém não é possível restaurar operações DDL (Data Definition Language) como a exclusão de uma tabela importante.

Desta forma, se precisamos visualizar dados em um determinado tempo do passado, utilizamos o FLASHBACK QUERY. Com esta feature é possível:

" [...] continue lendo...
Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados