Sauvegarde (RMAN)

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Domaine Sauvegarde Oracle
Commande BACKUP
Compression Ratio typique de l'ordre de 5 pour un backup set compressé
Voir aussi RMAN · Référentiel (RMAN) · Récupération (RMAN)

La commande BACKUP de RMAN permet de sauvegarder tout ou partie d'une base Oracle : base complète, tablespaces, fichiers de données, fichier de contrôle, spfile ou fichiers de journalisation archivés.

Syntaxe générale

BACKUP [option_globale] cible [option] ;

Principales options :

INCREMENTAL LEVEL n [CUMULATIVE]
VALIDATE
AS COPY | AS [COMPRESSED] BACKUPSET
DATABASE
TABLESPACE cible
DATAFILE cible
CURRENT CONTROLFILE
SPFILE
ARCHIVELOG cible
INCLUDE CURRENT CONTROLFILE
PLUS ARCHIVELOG
DELETE [ALL] INPUT          -- efface les fichiers de journalisation qui viennent d'être sauvegardés
FORMAT [=] 'nom'
TAG [=] 'format'
NOT BACKED UP SINCE TIME = 'date'
NOT BACKED UP n TIMES

Filtres temporels valables sur plusieurs de ces commandes :

FROM TIME 'date'
UNTIL TIME 'date'
TIME BETWEEN 'date1' AND 'date2'

Sauvegarde complète

BACKUP DATABASE ;
BACKUP AS COMPRESSED BACKUPSET DATABASE TAG='DBF' ;

Sauvegarde partielle

BACKUP TABLESPACE data, indx ;
BACKUP DATAFILE 1, 2, '/oradata/DATABASE_NAME/defTBS01.dbf' ;
BACKUP TABLESPACE system DATAFILE 5 ;

Fichier de contrôle et spfile

BACKUP TABLESPACE data, indx INCLUDE CURRENT CONTROLFILE ;
BACKUP CURRENT CONTROLFILE ;
BACKUP AS COPY CURRENT CONTROLFILE ;
BACKUP SPFILE ;

Fichiers de journalisation archivés

BACKUP ARCHIVELOG ALL ;
BACKUP ARCHIVELOG FROM TIME 'SYSDATE-1' DELETE ALL INPUT ;
BACKUP AS COMPRESSED BACKUPSET ARCHIVELOG FROM TIME 'SYSDATE-7' NOT BACKED UP 2 TIMES ;
BACKUP DATABASE PLUS ARCHIVELOG ;
BACKUP DATABASE PLUS ARCHIVELOG DELETE ALL INPUT ;

L'option PLUS ARCHIVELOG sauvegarde les fichiers de journalisation archivés dans un jeu de sauvegarde séparé, selon la séquence suivante :

  1. archivage du fichier de journalisation courant ;
  2. sauvegarde de tous les fichiers de journalisation archivés ;
  3. sauvegarde des autres éléments (base, tablespaces...) ;
  4. nouvel archivage du fichier de journalisation courant ;
  5. sauvegarde des fichiers de journalisation archivés générés depuis le début de la sauvegarde.

Sauvegarde incrémentale

BACKUP INCREMENTAL LEVEL 0 DATABASE TAG='dbinc0' ;
BACKUP INCREMENTAL LEVEL 1 DATABASE TAG='dbinc1' ;
  • LEVEL 0 : équivalent d'une sauvegarde complète.
  • LEVEL 1 : incrémentale depuis le dernier LEVEL 0 ou LEVEL 1.

Activer ou désactiver le suivi des blocs modifiés (Block Change Tracking, accélère les incrémentales) :

ALTER DATABASE ENABLE BLOCK CHANGE TRACKING USING FILE 'fichier' ;
ALTER DATABASE DISABLE BLOCK CHANGE TRACKING ;

SELECT * FROM V$BLOCK_CHANGE_TRACKING ;

Scénario type : zone de récupération rapide activée, sauvegarde automatique des fichiers de contrôle activée.

Sauvegarde cohérente

SHUTDOWN IMMEDIATE ;
STARTUP MOUNT ;
BACKUP DATABASE ;
SQL "ALTER DATABASE OPEN" ;

Sauvegarde incohérente

BACKUP DATABASE PLUS ARCHIVELOG DELETE ALL INPUT ;

Sauvegarde partielle par lot

BACKUP DATAFILE 1, 2 PLUS ARCHIVELOG DELETE ALL INPUT ;
BACKUP DATAFILE 3, 4 PLUS ARCHIVELOG DELETE ALL INPUT ;

BACKUP DATABASE NOT BACKED UP SINCE TIME='SYSDATE-3' PLUS ARCHIVELOG DELETE ALL INPUT ;

Scénario hebdomadaire incrémental

-- Dimanche
BACKUP INCREMENTAL LEVEL 0 DATABASE ;

-- Du lundi au samedi
BACKUP INCREMENTAL LEVEL 1 CUMULATIVE DATABASE ;

Voir aussi

  • RMAN — présentation générale, connexion et configuration
  • Référentiel (RMAN) — consulter les sauvegardes déjà réalisées (LIST, REPORT)
  • Récupération (RMAN) — utiliser ces sauvegardes pour restaurer/récupérer la base