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.


Related Posts:

  • Estatísticas | Oracle Oracle | Estatísticas from Carlos Pampulim Caldeira … Read More
  • Geração de Dados | Oracle Geração de Dados | Oracle A geração de valores aleatórios em Oracle para valores numéricos e datas, por exemplo, e recorrendo ao utilitário DBMS_RANDOM é fácil e traduz-se em resultados que fazem sentido e que podem poster… Read More
  • Oracle | Data aleatória Pretende-se gerar uma data aleatória entre 2006-12-01 e 2006-12-20 (um intervalo de 20 dias). Para fazer o cálculo transforma-se a data para o dia juliano em número: TO_CHAR(TO_DATE('2006-12-01', 'YYYY-MM-DD'), 'J'): SELECT… Read More
  • Lista (enorme) com nomes | Oracle | PostgreSQL | MySQLNeste link está uma folha de cálculo em Excel com 1 milhão de nomes em português que pode ser usada em múltiplas aplicações, entre elas para preencher tabelas de teste em sistemas de bases de dados relacionais. Na Figura 1 es… Read More
  • Privilégio de INSERT | Oracle Privilégio de INSERT | Oracle Será que quando se dá o privilégio de INSERT numa tabela a um role isso implicitamente atribui a esse role a possibilidade de "ler" (SELECT) linhas da tabela? Para começar considere-se a tabe… Read More