Oracle Flashback Query

Apartir do Oracle 9i, temos uma funcionalidade muito legal: Oracle Flashback Query. Com ela é possível fazer uma query em uma tabela mostrando dados em versões ao longo do tempo, ou seja, consultar uma tabela como ela se encontrava num determinado momento.

Veja o exemplo:
select * from hr.countries as of timestamp sysdate – (1/24);

Acima consultamos a tabela HR.COUNTRIES e temos os dados como eles se encontravam a 01 hora atrás. Claro que não teremos todo o histórico dos dados de uma tabela de um banco de produção – isso custaria muito em armazenamento -, mas essa possibilidade de “voltar ao passado” é totalmente configurável e depende de parâmetros do seu banco de dados como UNDO_RETENTION (tempo de retenção), UNDO_TABLESPACE, UNDO_MANAGEMENT assim como o acesso a consultar esses dados “antigos” dependem de GRANT.
Teste feito em Oracle 9i, 10g, e XE.

Leave a comment