Por que precisamos fazer backup de logs de arquivamento Oracle junto com arquivos de dados

12

Noções básicas sobre backup e recuperação de banco de dados Oracle® 10g Release 2 (10.2) afirma que

Os logs de refazer arquivados são a chave para a recuperação bem-sucedida da mídia. Faça backup deles regularmente.

Mas, eu me pergunto, por que os backups de logs de arquivamento são tão importantes. Seria possível fazer a recuperação point-in-time usando apenas backups regulares e incrementais do arquivo de dados do RMAN.

nonezumi
fonte

Respostas:

16

Não, você ainda precisa de redo logs arquivados. Um backup do RMAN não é o mesmo que um backup frio; Ao restaurá-lo, você deve aplicar todo o refazer gerado desde o início do backup até o momento em que o backup foi concluído, a fim de manter o SCN consistente em todos os arquivos de dados e arquivo de controle.

Vamos considerar o backup a quente à moda antiga. Nesse modo, blocos inteiros de banco de dados alterados são gravados no fluxo de redo log e o arquivo é copiado no sistema operacional. Isso causa blocos fraturados , ou seja, o bloco foi alterado durante a leitura pelo backup. Portanto, para recuperar o banco de dados, restauramos os DBFs e, em seguida, o processo de recuperação sobrepõe os blocos alterados dos logs refazer arquivados para os blocos fraturados no arquivo e voltamos a um banco de dados consistente.

Em um backup do RMAN, o problema dos blocos fraturados é eliminado porque os blocos são lidos pelo Oracle via SGA e não por uma ferramenta Unix como cp. No entanto, o DBF muda entre a hora em que o primeiro bloco é lido e o último, por isso é o mesmo problema, apenas em uma escala maior. Ou seja, o SCN muda entre o primeiro e o último bloco em um backup. Os logs de refazer arquivados também abrangem isso.

O RMAN fornece a capacidade de gerenciamento do catálogo e um meio de fazer backups a quente sem a necessidade de gerar refazer a uma taxa muito mais alta (o que coloca seu próprio estresse nos discos, no sistema de backup etc.). No entanto BACKUP DATABASE, não fornecerá um banco de dados consistente por si só; a única maneira de fazer isso no Oracle é o backup a frio.

Gaius
fonte
1
+1 Gostei mais da sua resposta, pensei em adicionar a minha para obter informações adicionais.
Leigh Riffel
7

O backup dos logs de arquivamento é necessário apenas quando executado no modo de log de arquivamento, portanto, a pergunta volta para saber se o banco de dados deve fazer isso ou não. Isso é abordado no mesmo documento que você faz referência sob o título Decidindo entre os modos ARCHIVELOG e NOARCHIVELOG . Aqui está um trecho:

Decidindo entre os modos ARCHIVELOG e NOARCHIVELOG

Os logs de refazer do banco de dados fornecem um registro completo das alterações nos arquivos de dados do banco de dados (com algumas exceções, como carregamentos diretos de caminho).

Você pode executar seu banco de dados em um dos dois modos: modo ARCHIVELOG ou NOARCHIVELOG. No modo ARCHIVELOG, um grupo de redo logs on-line usado deve ser copiado para um ou mais destinos de arquivamento antes de poder ser reutilizado. O arquivamento do log refazer preserva todas as transações armazenadas nesse log, para que possam ser usadas nas operações de recuperação posteriormente. No modo NOARCHIVELOG, os grupos de redo logs on-line são simplesmente substituídos quando o log é reutilizado. Todas as informações sobre transações registradas nesse grupo de redo log são perdidas.

2.3.3.1 Implicações da execução no modo NOARCHIVELOG

A execução do banco de dados no modo NOARCHIVELOG impõe severas limitações à sua estratégia de backup e recuperação.

  • Você não pode executar backups online do seu banco de dados. Você deve desligar seu banco de dados de forma limpa antes de poder fazer um backup no modo NOARCHIVELOG.

  • Você não pode usar nenhuma técnica de recuperação de dados que exija os logs de refazer arquivados. Isso inclui recuperação de mídia completa e pontual, conforme descrito em "Formas de recuperação de dados", e técnicas de recuperação mais avançadas, como recuperação pontual de espaços de tabela individuais e banco de dados Flashback (descrito em Oracle Database Backup and Recovery Advanced Guia do usuário.).

Se você estiver executando no modo NOARCHIVELOG e precisar recuperar os danos nos arquivos de dados devido à falha do disco, você tem duas opções principais para recuperação:

  • Solte todos os objetos que tenham extensões localizadas nos arquivos afetados e solte os arquivos. O restante do banco de dados está intacto, mas todos os dados nos arquivos afetados são perdidos.

  • Restaure todo o banco de dados do backup mais recente e perca todas as alterações no banco de dados desde o backup. (Recuperar alterações desde o backup exigiria a recuperação da mídia, que usa os logs de refazer arquivados.)

...

Quando os requisitos de desempenho são extremos ou as limitações de espaço em disco são severas, pode ser preferível executar no modo NOARCHIVELOG, apesar das limitações que essa opção impõe às suas opções de recuperação.

Você quase sempre desejará executar no modo ARCHIVELOG, portanto, quase sempre deseja fazer backup de seus logs de arquivamento.

Leigh Riffel
fonte
Você sempre deve executar no modo ARCHIVELOG ou algum dia se arrependerá; mesmo em bancos de dados de desenvolvimento / teste.
Mark Stewart