DBAtlas · Atlas de operaciones de bases de datos

Estrategia de copias de seguridad y automatización de Oracle (RMAN + Data Pump)

OracleNivel: IntermedioDuración: 60–120 min (sin contar el primer level 0)

Establece un esquema permanente y automatizado de copias de seguridad para una base de datos ya instalada (la recuperación tras un fallo se trata en una guía aparte: "Restore y recovery con RMAN"): level 0 semanal + level 1 diario (o full todos los días), backup frecuente de archived logs, FRA o un directorio aparte, retention, compresión, cifrado, block change tracking y paralelismo. Además, un expdp completo con wallet. Los scripts completos (bloqueo, log, control de errores, correo electrónico) se programan con cron, un systemd timer o DBMS_SCHEDULER; incluyen un RESTORE VALIDATE semanal y el mantenimiento. Rutas distintas para instancia única, Oracle Restart y RAC (FRA y snapshot controlfile en ASM, el trabajo se ejecuta solo en la primera instancia abierta); OL/RHEL 7.9–9. Opcional: recovery catalog de RMAN (CREATE CATALOG, REGISTER, conexión mediante wallet, backup del propio catálogo) y una prueba mensual de restauración (trabajo RESTORE … VALIDATE + PREVIEW, restore real en un servidor de pruebas).

Topología: 1 servidor (instancia única u Oracle Restart) o RAC (2–8 nodos)

Antes de empezar

  • La base de datos … está abierta y registrada en /etc/oratab; ORACLE_HOME ….… La base de datos está registrada en Clusterware (srvctl config database -db …).…
  • Se conocen el modo de log y la configuración de la FRA de la base de datos. Si ARCHIVELOG está desactivado, se ha planificado una breve interrupción (reinicio) para activarlo.
  • Hay espacio en disco suficiente: unos … GB para la FRA (…)…, unos … GB para el directorio de backup (…)……, unos … GB para el directorio de dumps (…)…. El cálculo es una estimación aproximada (sección Notas); el espacio de backup debe estar separado de los discos de la base de datos.
  • cron (cronie) está instalado y en ejecución. Los trabajos se ejecutan como el usuario oracle mediante un archivo de /etc/cron.d propiedad de root; PAM (/etc/security/access.conf) no bloquea los trabajos cron de oracle.
  • Se conoce la contraseña del usuario oracle del sistema operativo (para la credential de DBMS_SCHEDULER) y $ORACLE_HOME/bin/jssu es setuid root (se ha ejecutado root.sh).
  • El servidor puede enviar correo: el MTA local (postfix) reenvía a un servidor relay, o mailx tiene configurado SMTP.
  • El keystore TDE está configurado y abierto (v$encryption_wallet → OPEN). La contraseña del keystore y una copia del mismo están en un lugar seguro: si se pierde el keystore, los backups cifrados no se pueden abrir.
  • La licencia es adecuada: …el paralelismo y block change tracking existen en Enterprise Edition…; la compresión … requiere Advanced Compression Option……; el cifrado de backups a disco requiere Advanced Security Option……; Data Pump COMPRESSION=ALL requiere Advanced Compression Option….…En Standard Edition 2, RMAN trabaja con un solo canal; se puede usar la compresión BASIC.…
  • Hay un lugar definido para una segunda copia de los backups: cinta/MML, almacenamiento de objetos u otro servidor. La única copia de un backup no debe estar en el mismo servidor que la base de datos.
  • OL/RHEL 7.9: soportado para 19c; el software se instala con yum. El Premier Support de OL7 terminó en junio de 2024 (el Extended Support continúa); RHEL 7 necesita una suscripción Extended Life Cycle Support. En instalaciones nuevas, prefiera OL/RHEL 8–9.
  • La FRA está en un grupo de discos ASM (…)… y todas las instancias ven la misma FRA; el destino de archivado de cada instancia es USE_DB_RECOVERY_FILE_DEST….

Fases de la guía

  • Preparación — Medir el estado actual y los tamaños · Crear los directorios de backup · Configurar la FRA · Activar el modo ARCHIVELOG · Activar el modo ARCHIVELOG (srvctl) · Preparar cron y el permiso de cron del usuario oracle …
  • Archivo de entorno y configuración de RMAN — Escribir el archivo de entorno… (…)… · Activar block change tracking · Escribir el archivo de configuración de RMAN · Aplicar los ajustes de RMAN · Ajustar control_file_record_keep_time según la retention
  • Recovery catalog (opcional) — Crear el propietario del catálogo en la base de datos de catálogo · Escribir los archivos TNS para la conexión al catálogo · Añadir la credencial del catálogo al wallet · Crear el esquema del catálogo (CREATE CATALOG) · Registrar la base de datos en el catálogo (REGISTER DATABASE) · Hacer backup de la base de datos de catálogo
  • Archivos de comandos de RMAN y script de backup — Escribir el archivo de comandos del level 0 · Escribir el archivo de comandos del level 1 · Escribir el archivo de comandos de archived logs · Escribir el archivo semanal de validación y mantenimiento · Escribir el archivo de la prueba mensual de restauración · Escribir el script de backup …
  • Usuario y wallet de Data Pump — Crear el usuario de export y el objeto directory · Crear el wallet y añadir la credencial · Copiar el wallet a los demás nodos · Escribir sqlnet.ora (solo para el script de backup) · Escribir tnsnames.ora (solo para el script de backup)… (…)… · Probar la conexión sin contraseña
  • Primeros backups (ejecución manual) — Hacer el primer backup level 0 · Probar el backup de archived logs · Probar el backup level 1 · Hacer el primer export de Data Pump · Verificar los backups en los registros de RMAN
  • Programación: cron — Escribir el archivo de cron · Ajustar los permisos del archivo de cron y quitar el bloque antiguo del crontab · Probar manualmente con el entorno de cron · Comprobar que cron ejecuta los trabajos
  • Programación: systemd timer — Escribir los archivos de servicio y de timer · Habilitar los timers
  • Programación: DBMS_SCHEDULER — Crear la credential del sistema operativo · Crear los trabajos programados · Probar ejecutando un trabajo ahora
  • Mantenimiento y supervisión — Ejecutar una vez la validación y el mantenimiento semanales · Ejecutar una vez la prueba de restauración · Consultas de supervisión · Copiar los backups fuera del servidor y probar la recuperación · Hacer un restore real en un servidor de pruebas aparte · Supervisar el historial de backups en el catálogo
Abrir el plan paso a paso para su entorno →