RMAN: Seu Aliado Essencial para Backup e Recuperação no Oracle

424 views 8:18 pm 0 Comments agosto 19, 2025

No universo dos bancos de dados, a segurança dos dados é primordial. Falhas de hardware, erros humanos, desastres naturais – imprevistos acontecem. É aqui que entra o RMAN (Recovery Manager), a ferramenta nativa da Oracle para realizar backups e recuperações de maneira eficiente, confiável e automatizada.

Mas o que é o RMAN e como ele se tornou indispensável para qualquer DBA Oracle?

O Que é o RMAN?

O RMAN (Recovery Manager) não é apenas um utilitário; é uma estrutura robusta fornecida pela Oracle para gerenciar todas as operações de backup e restauração do seu banco de dados. Ele simplifica tarefas complexas, automatiza a manutenção de backups e garante a integridade dos dados, tornando a vida do DBA muito mais fácil e segura.

Por que usar o RMAN em vez de backups manuais (copiando arquivos)?

  1. Confiabilidade: O RMAN valida os backups, verifica a integridade dos blocos de dados e garante que os backups podem ser restaurados.
  2. Automação: Ele pode ser scriptado e agendado, eliminando a necessidade de intervenção manual constante.
  3. Eficiência: Suporta backups incrementais (apenas o que mudou), backups compactados e block change tracking, reduzindo o espaço e o tempo de backup.
  4. Recuperação Abrangente: Permite a recuperação completa do banco de dados, recuperação pontual (point-in-time recovery) e recuperação de tablespaces ou datafiles específicos e até blocos de dados individualmente.
  5. Gerenciamento do Repositório: Ele rastreia todos os backups e seus metadados, facilitando a localização e o gerenciamento dos arquivos de backup.

Pré-Requisitos Essenciais para Usar o RMAN

Para aproveitar ao máximo o RMAN e garantir que seu banco de dados seja recuperável, alguns pré-requisitos são fundamentais:

1. Modo ARCHIVELOG

Este é, sem dúvida, o pré-requisito mais crítico para um ambiente de produção.

  • O que é? Quando um banco de dados está em modo ARCHIVELOG, o conteúdo dos arquivos de redo logs files (que registram todas as alterações no banco de dados) são copiados para um local de arquivamento antes de serem reutilizados. Essas cópias são chamadas de archive logs.
  • Por que é necessário?
    • Recuperação Pontual (Point-in-Time Recovery – PITR): Sem o modo ARCHIVELOG, você só pode restaurar seu banco de dados para o momento do último backup completo. Já com o banco de dados em modo archivelog, você pode restaurar para qualquer ponto no tempo entre dois backups, desde que tenha todos os archive logs gerados nesse intervalo. Isso é crucial para se recuperar de erros lógicos (ex: alguém deletou dados importantes por engano).
    • Alta Disponibilidade: É a base para tecnologias como Oracle Data Guard, que dependem da aplicação contínua de archived redo logs para manter bancos de dados em standby sincronizados.

Como verificar e habilitar o modo ARCHIVELOG:

  1. Verificar o Status:
    SELECT LOG_MODE FROM V$DATABASE;

    Se o resultado for NOARCHIVELOG, seu banco não está nesse modo.
  1. Habilitar o Modo ARCHIVELOG (Exige Downtime!):
  • Desligue o Banco de Dados:
    SHUTDOWN IMMEDIATE;

  • Inicie em Modo MOUNT:
    STARTUP MOUNT;

  • Habilite o Modo ARCHIVELOG:
    ALTER DATABASE ARCHIVELOG;

  • Abra o Banco de Dados:
    ALTER DATABASE OPEN;

  • Verifique novamente:
    SELECT LOG_MODE FROM V$DATABASE;

Agora, o resultado deve ser ARCHIVELOG.

2. Fast Recovery Area (FRA)

Também conhecida como flash recovery area, a FRA é um local no disco gerenciado pelo Oracle para armazenar arquivos relacionados à recuperação.

  • O que é? É um diretório no sistema de arquivos ou um disk group do ASM (Automatic Storage Management) onde o Oracle armazena automaticamente:
  • Arquivos de redo arquivados (archived redo logs).
  • Backups do RMAN.
  • Flashback logs.
  • Control file autobackups.
  • Por que é útil?
  • Gerenciamento Automático: O Oracle gerencia o espaço na FRA, excluindo arquivos antigos quando necessário para liberar espaço para novos backups e logs, de acordo com a política de retenção configurada.
  • Simplificação: Centraliza a localização dos arquivos de recuperação, tornando a configuração e o gerenciamento do RMAN mais simples.
  • Performance: Pode ser configurada para discos de alta performance, otimizando as operações de I/O.

Como configurar a Fast Recovery Area:

Você define dois parâmetros de inicialização do banco de dados:

  1. DB_RECOVERY_FILE_DEST: Especifica o caminho para a FRA.
  2. DB_RECOVERY_FILE_DEST_SIZE: Define o tamanho máximo da FRA.

Exemplo:

ALTER SYSTEM SET DB_RECOVERY_FILE_DEST = '/u01/app/oracle/fast_recovery_area' SCOPE=BOTH;
ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE = 20G SCOPE=BOTH;

Recomenda-se um tamanho inicial de pelo menos 2 a 3 vezes o tamanho do seu banco de dados para a FRA.

Exemplos Básicos de Backup com RMAN

Com o modo ARCHIVELOG habilitado e a FRA configurada, você está pronto para realizar seus primeiros backups com o RMAN.
Para se conectar ao RMAN, use o comando rman target / no terminal do sistema operacional onde o banco está rodando, ou rman target sys/senha@servicename se for remoto. Uma vez conectado, você pode executar os comandos RMAN.

1. Backup Completo do Banco de Dados (Database Full Backup)

Este comando cria uma cópia completa de todos os datafiles, control files e SPFILE.

RMAN> BACKUP DATABASE;

  • Onde o backup vai? Por padrão, ele vai para a Fast Recovery Area.
  • O que ele faz? Ele faz um backup de todos os datafiles, o control file e o server parameter file (SPFILE).

2. Backup do Banco de Dados + Arquivos de Redo Arquivados

Para garantir que você possa fazer uma recuperação pontual, é essencial incluir os archived redo logs no seu backup.

RMAN> BACKUP DATABASE PLUS ARCHIVELOG;

  • Este comando primeiro força um log switch para arquivar os redo logs atuais, depois faz o backup de todos os datafiles, control file, SPFILE e todos os archived redo logs que não foram ainda backupados. É uma prática muito comum.

3. Backup Incremental Level 0 (Base para Incrementais)

O backup incremental level 0 é a base para backups incrementais. Ele faz um backup de todos os blocos usados no banco de dados, similar a um backup completo, mas marcando-o como um ponto de partida para futuros backups incrementais.

RMAN> BACKUP INCREMENTAL LEVEL 0 DATABASE;

4. Backup Incremental level 1 (Apenas o que Mudou)

Este backup é muito eficiente, pois copia apenas os blocos de dados que foram alterados desde o último backup incremental de level inferior (level 0 ou level 1 anterior).

RMAN> BACKUP INCREMENTAL LEVEL 1 DATABASE;

  • Importante: Existem dois tipos de incrementais level 1:
  • Differential (Padrão): Faz backup de blocos alterados desde o último incremental de level 1 ou level 0.

  • Cumulative: Faz backup de blocos alterados desde o último incremental de level 0. Mais robusto, mas pode ser maior que o differential. Para esta opção, use o comando abaixo:
  • RMAN> BACKUP INCREMENTAL LEVEL 1 CUMULATIVE DATABASE;

5. Listando Backups Existentes

Para verificar os backups que o RMAN já realizou e estão no seu repositório:

RMAN> LIST BACKUP SUMMARY;

6. Validando Backups

É uma boa prática validar seus backups para garantir que não estão corrompidos e podem ser restaurados.

RMAN> VALIDATE DATABASE;

  • Este comando verifica os datafiles e os blocos dentro dos datafiles quanto a corrupção.

7. Configurando a Política de Retenção (Retention Policy)

A política de retenção informa ao RMAN por quanto tempo manter os backups antes de considerá-los obsoletos e prontos para serem excluídos.

RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;

  • Isso significa que o RMAN manterá backups suficientes para permitir a recuperação do banco de dados para qualquer ponto no tempo nos últimos 7 dias.

RMAN> CONFIGURE RETENTION POLICY TO REDUNDANCY 3;

  • Isso significa que o RMAN manterá as 3 cópias mais recentes de cada backup de datafile.

Para excluir backups obsoletos de acordo com sua política de retenção:

RMAN> DELETE OBSOLETE;


E para fechar…


O RMAN é muito mais do que uma ferramenta de backup; é a espinha dorsal da estratégia de recuperação de dados de qualquer banco de dados Oracle. Ao entender e implementar os pré-requisitos essenciais como o modo ARCHIVELOG e a Fast Recovery Area, e dominar os comandos básicos de backup, você estará no caminho certo para garantir a segurança e a recuperabilidade dos seus dados. Lembre-se: Um backup só é bom se ele puder ser restaurado! Teste seus backups regularmente para ter certeza de que eles funcionarão quando você mais precisar. E eu sei que você deve estar pensando como vai fazer esse teste… Isso eu vou te ensinar no próximo post.

Te vejo lá tchau!