Máquina do tempo...em Oracle


Acontece por vezes que alguns dados podem inadvertidamente ser apagados ou modificados e não há tempo para os restaurar a partir de um dispositivo de backup. O Oracle possui uma tecnologia bastante útil denominada Flashback que permite que se façam queries "a um passado recente". O "quanto" é permitido recuar depende do espaço disponível em UNDO.


Suponha-se que na última hora se apagou qualquer linha da tabela Curso e que agora é imperioso saber que dados foram removidos: 

SELECT * FROM  "Curso" AS OF TIMESTAMP SYSDATE-1/24;

Através desta característica é possível fazer o seguinte:
  • Pesquisar dados que já não existem ("do passado"); 
  • Analisar os metadados de modo a evidenciar o historial de alterações à base de dados; 
  • Recuperar tabelas ou linhas para um determinado ponto do tempo; 
  • Fazer rollback de transacções enquanto a base de dados de produção continua activa; 
  • Fazer a gestão de transacções.