Esse artigo faz parte da revista SQL Magazine edição 62. Clique aqui para ler todos os artigos desta edição
ogia correta. O banco de dados Oracle disponibiliza uma série de recursos que permitirá ao Administrador de Banco de Dados (DBA), o desenvolvedor ou simplesmente o usuário de banco de dados recuperarem ou redefinirem a base de dados ou os objetos, a um determinado ponto no tempo, sem a necessidade de realizar uma recuperação do banco.
Esses recursos são chamados de Oracle Flashback. Essa tecnologia elimina a complexidade do processo de recuperação, enquanto diminui o tempo de recuperação de erros humanos imprevisíveis.
Utilizando os recursos do Oracle Flashback
Desde o lançamento no Oracle 9i, foram desenvolvidos oito diferentes tipos de Flashback, considerando os lançados até a versão atual, Oracle 11g. Na Tabela 1 estão descritos cada tipo de flashback existente de acordo com a versão em que foi lançado.
Versão |
Tipo de Flashback |
Descrição |
Oracle 9i |
Flashback Query |
Fornece a capacidade de visualizar os dados em um determinado ponto no tempo, especificando uma data ou um System Change Number (SCN). |
Oracle 10g |
Flashback Database |
Provê uma alternativa rápida e eficiente para recuperar o banco de dados até um tempo passado. Flashback Database retorna rapidamente um banco de dados para um momento anterior, corrigindo assim eventuais problemas causados por dados corrompidos ou erros humanos. |
Flashback Drop |
Esta funcionalidade permite recuperar uma tabela apagada. Quando um usuário “dropa” uma tabela, o Oracle automaticamente a coloca na lixeira. | |
Flashback Table |
Retorna uma tabela para um determinado ponto no tempo, especificando uma data ou um SCN. Com o Flashback Table o DBA é capaz de recuperar uma ou mais tabelas de maneira rápida, fácil e on-line. | |
Flashback Transaction Query |
Permite visualizar e retornar os comandos realizados em uma única transação, ou em todas as transações durante um período de tempo. | |
Flashback Version Query |
Permite visualizar todas as versões de todas as linhas que já existiu em uma ou mais tabelas em um determinado intervalo de tempo. | |
Oracle 11g |
Flashback Data Archive |
Utilizado para monitorar e manter um histórico das alterações ocorridas nos dados do banco, de forma transparente, segura e eficiente. |
Flashback Transaction Backout |
Esta é uma extensão do Flashback Transaction Query introduzida no banco de dados Oracle 10g. Esta funcionalidade permite que o DBA retorne o banco uma ou mais transações. |
Tabela 1. Diferentes Tipos de Flashback por versões do Oracle
Cenários a serem customizados
Neste artigo, iremos criar quatro cenários distintos utilizando o máximo possível dos recursos de recuperação rápida de objetos do Oracle Flashback. A criação desses cenários visa aproximar o leitor das tarefas realizadas diariamente pelo DBA:
· Cenário 1 - Restauração de comandos executados: Nesse cenário iremos executar comandos de manipulação de dados em uma tabela, verificaremos as versões dos comandos executados através do Flashback Version Query e recuperaremos o comando específico de uma versão anterior através do Flashback Transaction Query.
· Cenário 2 – Restauração de dados apagados: Nesse cenário mostraremos como recuperar dados deletados utilizando o recurso Flashback Query e a mesma recuperação utilizando a package DBMS_FLASHBACK;
· Cenário 3 – Restauração de uma tabela até um determinado ponto: Nesse cenário simularemos erros humanos em uma tabela e mostraremos como restaurá-la antes do problema através do recurso Flashback Table.
· Cenário 4 – Restauração de tabela da lixeira: Nesse cenário iremos apagar uma tabela acidentalmente, consultaremos a tabela na lixeira do banco de dados e restauraremos a tabela usando o ...