DEV Community

Caueiracouto
Caueiracouto

Posted on

Artigo: Banco de Dados Flashback

Flashback é uma tecnologia introduzida no Oracle Database 10g. Esta tecnologia nos permite realizar diversas operações no banco de dados com a intenção de encontrar soluções para os problemas lógicos, como por exemplo: restaurar uma tabela para um ponto do tempo antes de algum DELETE; restaurar uma tabela que foi removida; consultar dados de uma tabela em um momento específico no passado; voltar o banco de dados para um ponto no tempo.

Esta tecnologia não necessita de uma restauração física dos arquivos do banco de dados. O Flashback usa dados de UNDO ou Flashback Logs, dependendo de qual função o Flashback está sendo utilizado. O Flashback não é um método de recuperação que substitui ferramentas como restauração/recuperação RMAN, exportação/importação ou outras; mas é um complemento.

A seguir estão alguns exemplos de sintaxe do Flashback Database:

Configure uma área de recuperação rápida:

SQL> alter system set db_recovery_file_dest = '/u03/app/oracle/fast_recovery_area' scope=both; 
    System altered.
Enter fullscreen mode Exit fullscreen mode

Configurar a retenção dos Flashback Logs:

SQL> alter system set db_flashback_retention_target = 4320 scope=both;
      System altered.
Enter fullscreen mode Exit fullscreen mode

Habilitar o Flashback no nível do Container Database:

SQL> show con_name
      CON_NAME 
      ------------------------------ 
      CDB$ROOT
      SQL> alter database flashback;
      Database altered.
Enter fullscreen mode Exit fullscreen mode

Vantagens do banco de dados Flashback:

Redução da Sobrecarga de Armazenamento: Pode reduzir a necessidade de manter vários backups completos, já que o Flashback Database pode ser usado como uma alternativa para certos cenários de recuperação.

Recuperação Rápida: Permite reverter o banco de dados para um ponto no tempo anterior de maneira rápida e eficiente, evitando a necessidade de restaurar backups completos.

Desvantagens do Flashback Database:

Impacto no desempenho: O processo de flashback pode impactar o desempenho do sistema, especialmente em grandes bancos de dados, devido à carga adicional de processamento.

Dependência de logs: O Flashback Database depende da existência de logs de flashback, que precisam ser mantidos e gerenciados especificamente. A perda desses logs pode comprometer a capacidade de recuperação usando o Flashback Database.

Cenários em que o Flashback Database pode ser utilizado no mercado:

Útil para realizar testes em aplicações e depois desfazê-las;
Para testar alguma atualização;
Desfazer alterações indesejadas;
Desfazer um OPEN RESETLOGS;
“Levar“ um PDB a diferentes pontos no tempo.

Sentry image

Hands-on debugging session: instrument, monitor, and fix

Join Lazar for a hands-on session where you’ll build it, break it, debug it, and fix it. You’ll set up Sentry, track errors, use Session Replay and Tracing, and leverage some good ol’ AI to find and fix issues fast.

RSVP here →

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay