Fonctionnement et configuration de RMAN
Restaurer une base de données Oracle avec RMAN
Astuces supplémentaires
RMAN stocke ses sauvegardes en jeu de sauvegardes (ou Backup sets).
Un backup set est une structure logique contenant des parties de sauvegardes (ou backup pieces) qui sont des fichiers contenant la donnée. Généralement un backup set ne contient qu’une pièce.
Le logiciel RMAN étant le seul à pouvoir interpréter ces backup sets.
RMAN> BACKUP DATABASE PLUS ARCHIVELOG;
Cette commande sauvegarde la base de données ainsi que les fichier d’archive (REDOLOG journalisés). Si le mode CONTROLFILE AUTOBACKUP est réglé sur ON, une copie du fichier de contrôle ainsi que du spfile sera effectuée après la sauvegarde.
RMAN> BACKUP TABLESPACE system, users, tools, undotbs;
Cette commande va sauvegarder les tablespaces SYSTEM, USERS, TOOLS et UNDOTBS
RMAN> BACKUP DATAFILE '?/oradata/trgt/users01.dbf', ?/oradata/trgt/tools01.dbf';
Cette commande va sauvegarder les fichiers de données $ORACLE_HOME/oradata/trgt/users01.dbf et $ORACLE_HOME/oradata/trgt/tools01.dbf.
On peut également stipulé le numéro d’id du datafile à sauvegarder. Cette info peut s’obtenir avec la requête suivante :
SQL> select file_id,file_name
2 > from dba_data_files
3 > /
FILE_ID FILE_NAME
-------- -------------------------------------------------
3 /u02/oradata/mgmt/users01.dbf
2 /u02/oradata/mgmt/undotbs01.dbf
1 /u02/oradata/mgmt/system01.dbf
4 /u02/oradata/mgmt/example01.dbf
5 /u02/oradata/mgmt/undotbs02.dbf
La commande suivante sauvegardera donc le fichier "/u02/oradata/mgmt/example01.dbf" :
RMAN> BACKUP DATAFILE 4;
RMAN> BACKUP CURRENT CONTROLFILE ;
Cette commande va sauvegarder le fichier de contrôle courant. Cependant, si on est en mode autobackup ON, une copie du fichier sera effectuée à chaque fin de sauvegarde.
Attention : on ne sauvegarde JAMAIS les REDO-LOG courant avec RMAN
Cependant, l’utilisation de RMAN nécessite que la base cible archive ses redo-log (mode ARCHIVELOG). On peut donc aisément sauvegardé tout ou partie des redo-log archivés.
RMAN> BACKUP ARCHIVELOG ALL;
Cette commande va sauvegarder l’ensemble des journaux de transactions archivés.
RMAN> BACKUP ARCHIVELOG TIME BETWEEN 'SYSDATE-31' AND 'SYSDATE';
Cette commande va sauvegarder les journaux de transactions archivés du dernier mois écoulé.
Paramètre | Exemple | Explication du fonctionnement |
---|---|---|
FORMAT | FORMAT ‘/tmp/%U’ | Spécifie une localisation et un nom pour les pièces de sauvegardes. |
FILESPERSET | FILESPERSET 20 | Limite le nombre de fichiers de données ou de log archivés par jeu de sauvegarde |
MAXSETSIZE | MAXSETSIZE 5G | Spécifie la taille maximum d’un jeu de sauvegarde |
COPIES | COPIES 2 | Spécifie le nombre de copies de chaque jeu de sauvegarde |
TAG | TAG ‘backup_du_lundi’ | Spécifie une étiquette pour la sauvegarde. Par défaut RMAN, génère cette étiquette |
Exemples :
RMAN> BACKUP TABLESPACE tools, indx, undotbs FORMAT '?/oradata/%U';
RMAN> BACKUP FILESPERSET 20 FORMAT='AL_%d/%t/%s/%p' ARCHIVELOG LIKE '%arc_dest%';
RMAN> BACKUP TAG 'weekly_full_db_bkup' DATABASE MAXSETSIZE 10M;
RMAN> BACKUP COPIES 2 DEVICE TYPE sbt BACKUPSET ALL;
Lors d’un backup incrémental, on doit toujours spécifier le niveau 0 qui correspond à une sauvegarde complète de la base.
RMAN> BACKUP INCREMENTAL LEVEL 0 DATABASE;
Ensuite, on peut créer des sauvegardes à un niveau plus élevé.
RMAN> BACKUP INCREMENTAL LEVEL 1 CUMULATIVE DATABASE;
Dans notre exemple, seuls les blocs ayant été modifiés depuis la sauvegarde de niveau 0 seront sauvegardés.
Remarque : les sauvegardes incrementales sont bien plus complexes que cette simple commande. D’autres scénarii sont donc envisageables.
On peut tester le fonctionnement d’une sauvegarde sans générer de sortie avec l’option VALIDATE.
Par exemple :
RMAN> BACKUP VALIDATE DATABASE ARCHIVELOG ALL;
RMAN> BACKUP VALIDATE TABLESPACE tools;
Cette approche va tester que la sauvegarde se fera sans problème.
Cependant, une fois une sauvegarde effectuée on peut tester que la restauration se fera sans encombre. La commande à exécuter est donc la suivante :
RMAN> RESTORE DATABASE VALIDATE;
L’outil RMAN permet également de réaliser des copies de fichiers. Ces copies sont équivalentes à des copies de fichiers OS. Cela peut s’avérer nécessaire lorsque l’on désire réaliser des restaurations « user-managed ».
RMAN> COPY CURRENT CONTROLFILE TO '/save/mgmt_rman/cf_testcopie.ctl';
RMAN> COPY DATAFILE 1 TO '/save/mgmt_rman/dbf1_bkp.dbf'
Bonjour,
Avant tout je tiens a vous remercier pour cet article. je le trouve très claire et détaillé.
Mais je voudrai savoir est ce que avec rman on sauvegarde qu’une instance à la fois. et si on a plusieurs instance comment on fait ?