Flashback Data Archive

Por Alex Zaballa Oracle ACE Director
Postado em Junho 2016

Revisado por Marcelo Pivovar - Solution Architect

Este é mais um artigo da série que irei escrever enquanto me preparo para o exame de atualização do OCM para a versão 12c. Estes artigos serão criados antes da prova e serão baseados apenas nos tópicos do exame.

Indice de artigos do tema Data and Performance Management:


Neste artigo, falarei sobre o Flashback Data Archive (FDA), que surgiu no Oracle Database 11g como complemento da tecnologia de flashback introduzida nas versões anteriores.

  • A tecnologia de Flashback oferece uma solução para recuperação de erros humanos e lógicos, e é baseado nos dados de undo ou em flashback logs.
  • O FDA adiciona a capacidade de armazenar informações do banco de dados por um longo tempo, para fins de arquivamento ou restauração.

No Oracle Database 12c, foram adicionadas algumas melhorias nessa tecnologia, tais como:

  • User context tracking
  • Database Hardening
  • Export/Import Table History

Flashback Data Archive

O Flashback Data Archive é uma feature do Oracle Database 11g que provê uma estrutura para o armazenamento de informações históricas.

As informações nas tabelas serão retidas de acordo com a política de retenção definida no Flashback Data Archive, que pode ser de dias, meses ou mesmo anos.

Criando uma tablespace dedicada para os testes com o FDA:

Criando um usuário e atribuindo as permissões necessárias para uso do FDA:


Criando um Flashback Archive com retenção de 1 ano:

Atribuindo privilégios ao usuário TESTE_FDA:

Criando as tabelas e atribuindo ao Flashback Archive criado:

Verificando o mapeamento entre as tabelas originais e as tabelas que mantém o histórico:

Registro inserido em 01/01/2016:

Entre 01/01/2016 e 01/05/2016 foram feitas diversas operações na tabela e hoje ela se encontra da seguinte forma:

Agora vamos consultar como estavam os dados no dia 01/01/2016:


User context tracking

No Oracle Database 12c, o conteúdo de informações vindas de chamadas para SYS_CONTEXT e USERENV, podem ser armazenadas juntamente com as modificações dos dados, permitindo que seja realizada auditoria e controle de uma forma mais fácil.

Alterando o contexto:

Modificando os dados da tabela:

Verificando as modificações feitas na tabela, incluindo as informações dos usuários:

 

Database Hardening

No Oracle Database 12c, foi incluído um novo recurso chamado database hardening, que simplifica o gerenciamento do FDA através da criação de grupos de tabelas, que são conhecidos como aplicações.

O gerenciamento é realizado utilizando a package DBMS_FLASHBACK_ARCHIVE;

Este recurso permite que com apenas um comando, sejam modificadas todas as tabelas associadas a uma “aplicação”, inclusive bloqueando as operações DML.

Criando uma “aplicação”:

Atribuindo as tabelas que fazem parte da “aplicação”:

Habilitando o FDA para a “aplicação”:

Verificando o status do FDA:

 

Export/Import Table History

No Oracle Database 12c, foi incluído um novo recurso que permite importar e exportar o histórico de alterações nas tabelas.

Neste exemplo, iremos exportar o histórico de atualizações de uma tabela para outro banco.

Banco de Origem

Verificando o mapeamento entre a tabela original e a tabela que mantém o histórico:

Verificando o número de registros:

 

Banco de destino

Criando uma tablespace dedicada para os testes com o FDA:

Criando um usuário e atribuindo as permissões necessárias para uso do FDA:

Criando um Flashback Archive com retenção de 1 ano:

Atribuindo privilégios ao usuário TESTE_FDA2:

Criando a tabela e copiando os dados do banco de destino:

Habilitando o Flashback Archive:

Criando a tabela temporária que irá conter os dados históricos da tabela:

Copiando os dados históricos do banco de destino:

Importando os dados históricos para o FDA:

Verificando o mapeamento entre a tabela original e a tabela que mantém o histórico:

Verificando o número de registros:

 


Alex Zaballa, formado em Análise de Sistemas, é especialista em Banco de Dados Oracle com sólidos conhecimentos em Servidores de Aplicação e Sistemas Operacionais; trabalha com Oracle há 16 anos, é Oracle ACE Director, certificado OCM Database 11G/Cloud e conta com mais de 200 outras certificações em produtos da Oracle.

Este artigo foi revisto pela equipe de produtos Oracle e está em conformidade com as normas e práticas para o uso de produtos Oracle.