DBAtlas · Atlas de operações de banco de dados

Estratégia de backup e automação no Oracle (RMAN + Data Pump)

OracleNível: IntermediárioDuração: 60–120 min (sem contar o primeiro level 0)

Estabelece um esquema de backup permanente e automatizado para um banco de dados já instalado (a recuperação após uma falha está em um guia separado: "Restore e recovery com RMAN"): level 0 semanal + level 1 diário (ou full todos os dias), backup frequente de archived logs, FRA ou diretório separado, retenção, compactação, criptografia, block change tracking e paralelismo. Além disso, um expdp completo usando wallet. Scripts completos (lock, log, verificação de erros, e-mail) são agendados com cron, systemd timer ou DBMS_SCHEDULER; inclui RESTORE VALIDATE semanal e manutenção. Caminhos separados para instância única, Oracle Restart e RAC (FRA e snapshot controlfile no ASM, o job roda apenas na primeira instância aberta); OL/RHEL 7.9–9. Opcional: RMAN recovery catalog (CREATE CATALOG, REGISTER, conexão via wallet, backup do próprio catálogo) e simulado mensal de restore (job RESTORE … VALIDATE + PREVIEW, restore real em um servidor de teste).

Topologia: 1 servidor (instância única ou Oracle Restart) ou RAC (2–8 nodes)

Antes de começar

  • O banco … está aberto e registrado em /etc/oratab; ORACLE_HOME ….… O banco está registrado no Clusterware (srvctl config database -db …).…
  • O modo de log e a configuração da FRA do banco são conhecidos. Se o ARCHIVELOG estiver desativado, foi planejada uma indisponibilidade curta (reinício) para ativá-lo.
  • Espaço em disco suficiente: cerca de … GB para a FRA (…)…, cerca de … GB para o diretório de backup (…)……, cerca de … GB para o diretório de dump (…)…. O cálculo é uma estimativa grosseira (seção Notas); o espaço de backup deve ficar separado dos discos do banco.
  • O cron (cronie) está instalado e rodando. Os jobs rodam como usuário oracle por meio de um arquivo em /etc/cron.d pertencente ao root; o PAM (/etc/security/access.conf) não bloqueia os jobs de cron do oracle.
  • A senha do usuário oracle do sistema operacional é conhecida (para o credential do DBMS_SCHEDULER) e $ORACLE_HOME/bin/jssu é setuid root (root.sh foi executado).
  • O servidor consegue enviar e-mail: o MTA local (postfix) encaminha para um servidor de relay, ou o SMTP está configurado para o mailx.
  • O keystore TDE está configurado e aberto (v$encryption_wallet → OPEN). A senha do keystore e um backup dele estão guardados em local seguro: se o keystore for perdido, os backups criptografados não podem ser lidos.
  • Licenciamento em ordem: …paralelismo e block change tracking existem na Enterprise Edition…; a compactação … exige a Advanced Compression Option……; a criptografia de backups em disco exige a Advanced Security Option……; o Data Pump COMPRESSION=ALL exige a Advanced Compression Option….…Na Standard Edition 2 o RMAN trabalha com um único canal; a compactação BASIC pode ser usada.…
  • Há um local definido para uma segunda cópia dos backups: fita/MML, armazenamento de objetos ou outro servidor. A única cópia de um backup não deve ficar no mesmo servidor do banco.
  • OL/RHEL 7.9: suportado para 19c; o software é instalado com yum. O Premier Support do OL7 terminou em junho de 2024 (o Extended Support continua); o RHEL 7 exige assinatura Extended Life Cycle Support. Em instalações novas, prefira OL/RHEL 8–9.
  • A FRA está em um disk group do ASM (…)… e todas as instâncias enxergam a mesma FRA; o destino de arquivamento de cada instância é USE_DB_RECOVERY_FILE_DEST….

Fases do guia

  • Preparação — Medir o estado atual e os tamanhos · Criar os diretórios de backup · Configurar a FRA · Ativar o modo ARCHIVELOG · Ativar o modo ARCHIVELOG (srvctl) · Preparar o cron e a permissão de cron do usuário oracle …
  • Arquivo de ambiente e configuração do RMAN — Gravar o arquivo de ambiente… (…)… · Ativar o block change tracking · Gravar o arquivo de configuração do RMAN · Aplicar as configurações do RMAN · Ajustar control_file_record_keep_time de acordo com a retenção
  • Recovery catalog (opcional) — Criar o dono do catálogo no banco de catálogo · Gravar os arquivos TNS para a conexão com o catálogo · Incluir a credencial do catálogo no wallet · Criar o schema do catálogo (CREATE CATALOG) · Registrar o banco no catálogo (REGISTER DATABASE) · Fazer backup do banco de catálogo
  • Arquivos de comandos do RMAN e script de backup — Gravar o arquivo de comandos do level 0 · Gravar o arquivo de comandos do level 1 · Gravar o arquivo de comandos de archived logs · Gravar o arquivo de validação e manutenção semanal · Gravar o arquivo do simulado mensal de restore · Gravar o script de backup …
  • Usuário do Data Pump e wallet — Criar o usuário de export e o objeto directory · Criar o wallet e incluir a credencial · Copiar o wallet para os outros nodes · Gravar o sqlnet.ora (apenas para o script de backup) · Gravar o tnsnames.ora (apenas para o script de backup)… (…)… · Testar a conexão sem senha
  • Primeiros backups (execução manual) — Fazer o primeiro backup level 0 · Testar o backup de archived logs · Testar o backup level 1 · Fazer o primeiro export do Data Pump · Verificar os backups pelos registros do RMAN
  • Agendamento: cron — Gravar o arquivo do cron · Ajustar a permissão do arquivo do cron e remover o bloco antigo do crontab · Testar manualmente com o ambiente do cron · Verificar se o cron executa os jobs
  • Agendamento: systemd timer — Gravar os arquivos de serviço e timer · Habilitar os timers
  • Agendamento: DBMS_SCHEDULER — Criar o credential do sistema operacional · Criar os jobs agendados · Testar executando um job agora
  • Manutenção e monitoramento — Executar uma vez a validação e a manutenção semanais · Executar uma vez o simulado de restore · Consultas de monitoramento · Copiar os backups para fora do servidor e testar a recuperação · Fazer um restore real em um servidor de teste separado · Acompanhar o histórico de backups no catálogo
Abrir o plano passo a passo para o seu ambiente →