DBAtlas · Atlas d'exploitation des bases de données

Stratégie de sauvegarde Oracle et automatisation (RMAN + Data Pump)

OracleNiveau: IntermédiaireDurée: 60–120 min (hors durée du premier level 0)

Met en place un plan de sauvegarde permanent et automatisé pour une base de données installée (la restauration après une panne fait l'objet d'un guide distinct : "Restauration et récupération avec RMAN") : level 0 hebdomadaire + level 1 quotidien (ou full chaque jour), sauvegarde fréquente des archived logs, FRA ou répertoire dédié, retention, compression, chiffrement, block change tracking et parallélisme. En complément, un expdp complet avec wallet. Des scripts complets (verrou, log, contrôle des erreurs, e-mail) sont planifiés avec cron, un timer systemd ou DBMS_SCHEDULER ; RESTORE VALIDATE hebdomadaire et maintenance inclus. Chemins distincts pour instance unique, Oracle Restart et RAC (FRA et snapshot controlfile dans ASM, le job ne s'exécute que sur la première instance ouverte) ; OL/RHEL 7.9–9. En option : catalogue de récupération RMAN (CREATE CATALOG, REGISTER, connexion par wallet, sauvegarde du catalogue lui-même) et exercice de restauration mensuel (job RESTORE … VALIDATE + PREVIEW, restauration réelle sur un serveur de test).

Topologie: 1 serveur (instance unique ou Oracle Restart) ou RAC (2–8 nœuds)

Avant de commencer

  • La base … est ouverte et enregistrée dans /etc/oratab ; ORACLE_HOME ….… La base est enregistrée dans Clusterware (srvctl config database -db …).…
  • Le mode de journalisation de la base et la configuration de la FRA sont connus. Si ARCHIVELOG est désactivé, une courte interruption (redémarrage) a été planifiée pour l'activer.
  • Espace disque suffisant : environ … Go pour la FRA (…)…, environ … Go pour le répertoire des sauvegardes (…)……, environ … Go pour le répertoire des dumps (…)…. Le calcul est une estimation grossière (section Notes) ; l'espace de sauvegarde doit être séparé des disques de la base.
  • cron (cronie) est installé et actif. Les jobs s'exécutent sous l'utilisateur oracle via un fichier /etc/cron.d appartenant à root ; PAM (/etc/security/access.conf) ne bloque pas les jobs cron d'oracle.
  • Le mot de passe de l'utilisateur système oracle est connu (pour le credential DBMS_SCHEDULER) et $ORACLE_HOME/bin/jssu est setuid root (root.sh a été exécuté).
  • Le serveur peut envoyer des e-mails : le MTA local (postfix) est redirigé vers un serveur relais, ou SMTP est configuré pour mailx.
  • Le keystore TDE est configuré et ouvert (v$encryption_wallet → OPEN). Le mot de passe du keystore et sa sauvegarde sont en lieu sûr : si le keystore est perdu, les sauvegardes chiffrées ne peuvent plus être ouvertes.
  • Licences adéquates : …le parallélisme et le block change tracking existent en Enterprise Edition… ; la compression … exige Advanced Compression Option…… ; le chiffrement des sauvegardes sur disque exige Advanced Security Option…… ; Data Pump COMPRESSION=ALL exige Advanced Compression Option….…En Standard Edition 2, RMAN travaille avec un seul canal ; la compression BASIC est utilisable.…
  • L'emplacement d'une seconde copie des sauvegardes est défini : bande/MML, stockage objet ou autre serveur. L'unique copie de la sauvegarde ne doit pas se trouver sur le même serveur que la base.
  • OL/RHEL 7.9 : supporté pour 19c ; les logiciels sont installés avec yum. Le Premier Support d'OL7 a pris fin en juin 2024 (l'Extended Support continue), RHEL 7 nécessite un abonnement Extended Life Cycle Support. Pour les nouvelles installations, préférez OL/RHEL 8–9.
  • FRA dans un groupe de disques ASM (…)… et toutes les instances voient la même FRA ; la destination d'archivage est USE_DB_RECOVERY_FILE_DEST pour chaque instance….

Phases du guide

  • Préparation — Mesurer l'état actuel et les tailles · Créer les répertoires de sauvegarde · Configurer la FRA · Activer le mode ARCHIVELOG · Activer le mode ARCHIVELOG (srvctl) · Préparer cron et l'autorisation cron de l'utilisateur oracle …
  • Fichier d'environnement et configuration RMAN — Écrire le fichier d'environnement… (…)… · Activer le block change tracking · Écrire le fichier de configuration RMAN · Appliquer les paramètres RMAN · Ajuster control_file_record_keep_time à la rétention
  • Catalogue de récupération (facultatif) — Créer le propriétaire du catalogue dans la base catalogue · Écrire les fichiers TNS pour la connexion au catalogue · Ajouter les identifiants du catalogue au wallet · Créer le schéma du catalogue (CREATE CATALOG) · Enregistrer la base dans le catalogue (REGISTER DATABASE) · Sauvegarder la base catalogue
  • Fichiers de commandes RMAN et script de sauvegarde — Écrire le fichier de commandes level 0 · Écrire le fichier de commandes level 1 · Écrire le fichier de commandes des archived logs · Écrire le fichier de validation et de maintenance hebdomadaire · Écrire le fichier de l'exercice de restauration mensuel · Écrire le script de sauvegarde …
  • Utilisateur Data Pump et wallet — Créer l'utilisateur d'export et l'objet directory · Créer le wallet et ajouter les identifiants · Copier le wallet sur les autres nœuds · Écrire sqlnet.ora (uniquement pour le script de sauvegarde) · Écrire tnsnames.ora (uniquement pour le script de sauvegarde)… (…)… · Tester la connexion sans mot de passe
  • Premières sauvegardes (exécution manuelle) — Réaliser la première sauvegarde level 0 · Tester la sauvegarde des archived logs · Tester la sauvegarde level 1 · Réaliser le premier export Data Pump · Vérifier les sauvegardes dans les enregistrements RMAN
  • Planification : cron — Écrire le fichier cron · Régler les droits du fichier cron, supprimer l'ancien bloc de la crontab · Tester à la main avec l'environnement de cron · Vérifier que cron exécute les jobs
  • Planification : timer systemd — Écrire les fichiers service et timer · Activer les timers
  • Planification : DBMS_SCHEDULER — Créer le credential système · Créer les jobs planifiés · Tester en lançant un job immédiatement
  • Maintenance et supervision — Exécuter une fois la validation et la maintenance hebdomadaires · Exécuter une fois l'exercice de restauration · Requêtes de supervision · Copier les sauvegardes hors du serveur et tester la récupération · Effectuer un restore réel sur un serveur de test distinct · Suivre l'historique des sauvegardes dans le catalogue
Ouvrir le plan pas à pas adapté à votre environnement →