Oracle Flashback Query: Recuperando dados

Imagine a seguinte situação: você executou um delete em vários registros, “commitou” e depois percebeu que fez o filtro errado. Parece surreal, mas pode acontecer, tanto apagando quanto manipulando os dados de uma determinada tabela. Somos humanos e podemos errar.

Pensando no contexto da recuperação de dados, é importante conhecermos o modelo de “flashback query” da Oracle, onde podemos visualizar as informações de uma determinada tabela num determinado momento.

A sintaxe fica assim:

SELECT * FROM EMP AS OF TIMESTAMP    TO_TIMESTAMP('2005-04-04 09:30:00', 'YYYY-MM-DD HH:MI:SS')   WHERE name = 'JOHN';

Esse é o exemplo encontrado na documentação da Oracle. Tópico 7.2. Note que a query irá retornar todos os campos da tabela EMP, com visão as 9h30 do dia 04/04/2005, onde o nome for igual a JOHN.

Para mais informações de como usar Queries Flashback e também obter mais detalhes do seu funcionamento, veja a documentação clicando aqui.