Tuesday, March 21, 2006

RESTAURATION D'UNE BD ORACLE A L'AIDE DE RMAN (1ERE PARTIE)

I - Introduction
En cas de panne sévère ou d'erreur grossière d'utilisateur (par exemple chargement de données de masse erronées dans une base de données, l'administrateur d'une base de données Oracle est souvent amené à faire une restauration-récupération incomplète de la base. Et RMAN (Oracle Recovery Manager) est un outil qui facilite les gestes techniques à faire dans le cadre de la gestion des sauvegardes et restaurations de ces bases de données.
Rappelons que RMAN permet de faire une récupération de la base de données entière avec les trois options suivantes :
- récupération jusqu'à un moment non-courant à spécifier (restauration-récupération basée sur le temps –time-based recovery);
- récupération jusqu'à un SCN (System Change Number) à spécifier (restauration-récupération basée sur un SCN – change-based recovery);
- récupération jusqu'à un numéro de log sequence à spécifier (restauration-récupération basée sur une séquence – sequence-based recovery).
Les développements que nous faisons dans cette série d'articles concernent en grande partie la première option c'est-à-dire la récupération jusqu'à un moment non-courant.
Après un bref rappel sur la restauration-récupération complète d'une base de données Oracle, nous analyserons les possibilités offertes à l'administrateur pour effectuer une restauration-récupération incomplète basée sur le temps.
Dans la rubrique "Restrictions et notes d'usage" de la commande restore, Oracle précise ceci :
"RMAN ne sauvegarde ni ne restaure les tablespaces temporaires gérés localement, bien qu'il puisse sauvegarder et restaurer les tablespaces temporaires gérés à l'aide du dictionnaire.
Par ailleurs, Oracle précise qu'après la restauration d'une sauvegarde de fichier de contrôle, les entrées pour les tempfiles dans les tablespaces temporaires gérés localement sont supprimées. De ce fait on doit ajouter de nouveaux tempfiles à ces tablespaces après ouverture avec l'option RESETLOGS. Sinon Oracle peut afficher l'erreur suivante lors de tentative de tri : ORA-25153: Temporary Tablespace is empty.


II - Restauration-récupération complète d'une base Oracle à l'aide de RMAN
Voici un exemple pratique avec une base de données dont le fichier de contrôle sert aussi de référentiel pour RMAN.
$ rman
RMAN> connect target /
RMAN> startup mount
RMAN run { restore database ;
recover database ;
}
RMAN> alter database open resetlogs ;

Il est à noter que dans le genre de restauration-récupération ci-dessus, RMAN choisit toujours le jeu de sauvegarde optimal qui est dans presque tous les cas le plus récent, ce qui peut ne pas être le souhait de l'administrateur. Nous verrons dans la 2ème partie qui va suivre comment l'administrateur peut choisir le jeu de sauvegarde qu'il souhaite restaurer et récupérer.
Je vous remercie d'avance pour tous vos commentaires.

0 Comments:

Post a Comment

<< Home