18
Université Cheikh Anta Diop de Dakar Faculté des Sciences et Techniques Département Mathématiques- Informatique Maitrise d’Informatique Base de Données Oracle : Sauvegarde avec l’outil RMAN

Rapport

Embed Size (px)

Citation preview

Page 1: Rapport

Université Cheikh Anta Diop de Dakar

Faculté des Sciences et TechniquesDépartement Mathématiques-Informatique

Maitrise d’Informatique

Base de Données Oracle :

Sauvegarde avec l’outil RMAN

Réalisées par : Sujet proposé par :

M. Ousmane DIOP M. SENE

M. Ibrahima DANFAKHA

Page 2: Rapport

Sauvegarde avec l’outil RMAN Page 2

Page 3: Rapport

PLAN

I. Présentation de L’outil RMAN1. Introduction2. Fonction de l’outil RMAN3. Les différents types de sauvegarde de RMAN4. Prince de stockage des sauvegardes avec l’outil RMAN

II. Sauvegarde avec l’outil RMAN1. Solution base sur le catalogue de récupération2. Solution base sur les contrôles de fichier3. Quelques avantages de la sauvegarde de RMAN4. Exemple de sauvegarde avec l’outil RMAN

4.1. Création du catalogue de RMAN4.1.1.Création d’un utilisateur propriétaire du

catalogue4.1.2.Création du catalogue

4.2. Exemple de sauvegarde d’une base de données4.2.1.Déclaration de la base de données 4.2.2.Sauvegarde de la base de données

Sauvegarde avec l’outil RMAN Page 3

Page 4: Rapport

I. Présentation de l’outil RMAN 1. Introduction

Avec l’évolution du SGBD oracle on distingue de plus en plus plusieurs types d’outil de sauvegarde et de restauration parmi lesquelles nous avons l’outil RMAN. RMAN (Recovery Manager d’oracle) est un outil de sauvegarde et de restauration qui est fourni par oracle, on peut dire aussi qu’il est un outil qui est comparé au moteur de base de données pour les opérations de recovery (Sauvegarde et Restauration). Il permet aussi au DBA de mieux gérer les opérations de sauvegarde et de restaurations de manière souples et optimisés. RMAN stocke ses informations dans un référentiel qui se situe dans les Control Files ou dans un Catalogue (base de données). Avant de détaillé la sauvegarde de RMAN nous allons présenter quelques informations sur l’outil RMAN.

2. Fonctions de l’outil RMAN

L’outil RMAN est livre en standard depuis la version 8i d’oracle, il ne nécessite pas d’installation particulière. Il nous offre plusieurs possibilités :

Faire des sauvegarde physique ou logique de la base de données (tablespace, datafile, controlfile, les fichiers d’archive) totales ou partielles.

Sauvegarde avec l’outil RMAN Page 4

Page 5: Rapport

Faires des sauvegardes incrémentielles (différentielles ou cumulatives) au niveau bloc de données d’oracles.

Documenter les sauvegardes dans un catalogue partage, ou dans des fichiers. gérer les périodes de rétention des sauvegardes. de faire des duplications de base simplement

3. Les différents types de sauvegarde RMAN

Pour l’outil RMAN nous avons trois types de sauvegardes qui sont : la sauvegarde de types COMPLET(ou Full), la sauvegarde de types INCREMENTIELLES compose de deux types de sauvegarde la sauvegarde de types DIFERENTIEL et la sauvegarde de types CUMULATIF.

Types COMPLET(ou Full) : permet de sauvegarder tous les blocs de la base de données.

Types DIFFERENTIEL : On sauvegarde uniquement les blocs modifiés depuis la précédente sauvegarde de niveau n ou inferieur.

Types CUMULATIF : On sauvegarde uniquement les blocs modifiés depuis la précédente sauvegarde de niveau n-1.

Nous avons trois niveaux de sauvegarde avec la sauvegarde incrémentielle :

Niveau 0 :C’est la base de tous les niveaux. A partir de ce niveau on peut sauvegarder l’ensemble des blocs contenant des données.

Niveau 1 : Sauvegarde tous les blocs qui ont change depuis la plus récente sauvegarde incrémentielle de niveau 0.

Niveau 2 : Permet de faire la sauvegarde de tous les blocs qui ont changé depuis la récente sauvegarde incrémentielle de niveau 0, 1, 2.

La différence entre la sauvegarde COMPLET et la sauvegarde INCREMENTIELLE de niveau 0 est : la sauvegarde de niveau 0 est une sauvegarde complète des blocs de données, donc une sauvegarde complète ne peut être considère comme une sauvegarde de niveau 0.Par exemple si un dimanche nous faisons une sauvegarde complète est une sauvegarde de niveau 0, le lundi nous faisons une sauvegarde de niveau 2 qui est possible car on a déjà fait la sauvegarde de niveau 0 la veille. Et si le soir du lundi, nous voulons faire une restauration de la base de données, nous ne pourrons pas utiliser la sauvegarde complète comme parente de la sauvegarde de niveau 2 du lundi. Pour Rman la sauvegarde complète n’a pas eu lieu, c’est donc la sauvegarde de niveaux 0 et 2 qu’il faut restaurer.

La sauvegarde complète sert à faire une copie de la base de données dans un autre environnement.

On peut dire aussi que pour une restauration rapide, la sauvegarde CUMULATIF est préférable à la sauvegarde différentielle car pour la sauvegarde cumulative il faudra restaurer uniquement la sauvegarde de niveau 0 plus une seule cumulative alors que pour

Sauvegarde avec l’outil RMAN Page 5

Page 6: Rapport

une sauvegarde différentielle on doit restaurer la sauvegarde de niveau 0 plus chaque sauvegarde incrémentielle faites.

Par exemple supposons que nous avons une base de données dans laquelle on fait du lundi au mercredi une sauvegarde de la base de données soit différentielle ou cumulative. Et supposons que la base de données s’est plantée le mercredi. Pour faire la restauration de la base de données en mode différentielle, on restaure la sauvegarde de niveau 0 plus les 3 sauvegardes incrémentielle de niveau 2 c’est la sauvegardes faites le Lundi, le Mardi, le Mercredi et dans le cas d’une sauvegarde CUMULATIF on restaure seulement la sauvegarde de niveau 0 plus la sauvegarde de niveau 2.

4. Principe de stockage des sauvegardes avec l'outil RMAN

La database est la base de données cible on l’appelle la base qui est l’objet d’opération et de sauvegarde, l’outil RMAN utilise les fichiers de contrôle (controlefile) de la base de données cible afin de récupère les informations sur les objets à sauvegarder.

Le backup pièce est une entité physique contenant 1 ou plusieurs fichier de données. Ces fichiers de données peuvent se trouver dans plusieurs backups pièces. Le nombre et leur taille dépend du paramètre maxpiécesize.

Le backup set est une entité logique contenant un ou plusieurs backups pièce. Il est impossible pour les backups set d’avoir un fichier sur plusieurs backups set et de mélanger dans un backup set (librairie) des fichiers de contrôle et d’archive.

II. Sauvegarde avec l’outil RMAN

Pour la sauvegarde avec l’outil RMAN, Oracle serveur session communique à la fois avec la base de données cible a sauve, avec un disque qui est un périphérique de stockage de données et avec RMAN qui communique lui aussi avec le catalogue de RMAN. Un catalogue permet de faire la déclaration des bases de données avant de faire la sauvegarde car le catalogue permettra de faire la restauration de la base de données. La

Sauvegarde avec l’outil RMAN Page 6

Page 7: Rapport

sauvegarde des informations effectuées via RMAN peut se faire soit dans un catalogue de récupération, soit exclusivement dans les fichiers de contrôle des bases de données cibles. Depuis la version 9i d’oracle l’option de connexion à RMAN par défaut est NOCATALOG.

1. Solution base sur le catalogue de récupération

Pour RMAN le catalogue est un référence qui contient des informations sur l’ensemble des fichiers de données (datafiles), la structure physique de la base de données, les copies de fichier de données…

Oracle conseille d’utilise un catalogue malgré qu’il est optionnel car il permet de bénéficier de tous les fonctionnalités d’oracle.

L’inconvénient d’un catalogue est qu’un catalogue est avant tous une base de données qu’il faut surveille et gérer. Dans notre sauvegarde doit figurer cette base de données. Cependant un simple import suffit pour restaurer le catalogue.

2. Solution base sur les contrôles de fichier

On peut utiliser l’outil RMAN pour faire la sauvegarde sans utilise un catalogue. Pour cela RMAN va sauvegarde les métadonnées dans les fichiers de contrôles de la base de données cible. L’avantage de cette méthode est qu’on ne va gérer un catalogue. Cependant un certains nombre de fonctionnalité de RMAN seront indisponibles, et de plus la perte de fichiers de contrôle va poser un grand problème pour la restauration de la base de données. La plus simple solution à mettre en place c’est la solution base sur les fichiers de contrôle .Au niveau de sécurité RMAN 9i est plus performant que RMAN 8i. Pour RMAN 9i la fonctionnalité CONTROLFILE AUTOBACKUP ON permet de faire une sauvegarde du fichier de contrôle et du spfile à chaque sauvegarde ou modification de structure de la base de données. De plus c’est plus facile de récupère les fichiers de contrôle en cas de perte. Comme on sauvegarde tous les données dans les fichiers de contrôle ce qui fait qu’ils grossissent, il faut donc définir correctement les périodes de conservation et de sauvegarde (CONTROL_FILE_RECORD_KEEP_TIME). On a donc un historique très important dans le cadre du catalogue de récupération.

3. Quelques avantages de la sauvegarde de RMAN

L’outil RMAN est très puissant mais injustement sous utilisé pour les administrateurs. IL offre plusieurs possibilités :

L’intégration de l’interface graphique d’OEM Grid Control La simplicité c'est-à-dire tous les fichiers physiques constituant la base de données

sont catalogués.

Sauvegarde avec l’outil RMAN Page 7

Page 8: Rapport

D’être en standard avec la licence depuis la version 8i La gestion multibase centralisée possible avec le catalogue La synchronisation auto avec les disques ou le gestionnaire de media (CROSSCHECK)

en cas de modification de l’OS. Des politiques de rétention configurable. Une compatibilité avec les technologies d’oracle. La possibilité de faire des clones de base de données duplicata.

4. Exemple de sauvegarde avec l’outil RMAN 4.1. Création du catalogue RMAN

4.1.1. Création d’un utilisateur propriétaire du catalogue

Avant de crée le propriétaire du catalogue nous allons nous connecter en tant que Sys.

Création du tablespace en ligne de commande :

Sauvegarde avec l’outil RMAN Page 8

Page 9: Rapport

On crée un utilisateur du tablespace en l’attribuant des rôles :

L’attribution des privilèges :

L’utilisateur crée doit avoir obligatoirement le privilège recovery_catalog_owner car sans se rôle l’utilisateur ne pourra pas utiliser le catalogue qu’on va crée par la suite du rapport.

4.1.2. Création du catalogue

Pour la création du catalogue on doit d’abord se connecter à la base de données cible qui est ici la base d’oracle. Pour ce connecté à la base voici la commande :

On crée le catalogue de récupération :

Le catalogue est à présent crée donc RMAN peut fonctionner.

4.2. Exemple de sauvegarde d’une base de données

Pour la première sauvegarde d’une base de données on doit enregistrer la base sous RMAN. Il est inutile de réenregistrer la base de données pour une nouvelle utilisation de RMAN même si cela était le cas RMAN refusera la sauvegarde de la base de données.

Sauvegarde avec l’outil RMAN Page 9

Page 10: Rapport

4.2.1. Déclaration de la base de données

Il faut avant tous déclarer la base de données dans le catalogue. Si la base de données n’est pas déclarer dans le catalogue de restauration, ce dernier ne peut pas être utilisé pour gérer les informations de sauvegardes relatives à cette base de données.

Après la connexion vous pouvez tester une des commandes de RMAN qui est : show all qui vous donne la configuration courante de RMAN.

On peut aussi se connecte directement sans saisir le mot de passe de la base de données cible en tapant la commande suivante :

Connect target sys/motdepasse@base de données;

La réponse de la commande va donner:

Connected to target database: TADB (DBID=348504839)

Après on lance la commande suivante:

Connect catalog rman_ts_data/rmanpwd@rman;

Rman_ts_data est le nom de notre catalogue et rmanpwd est notre mot de passe. Puis on lance la commande suivante :

Sauvegarde avec l’outil RMAN Page 10

Page 11: Rapport

Lors de la sauvegarde dans le catalogue RMAN affecte un identificateur unique nommée DBid (dans notre exemple le DBID est : 26302440070) de la base de données cible afin de garantir la cohérence du catalogue et des sauvegardes venir. Il enregistre également lors du register les informations relatives à la base de données cible, informations récupère des fichiers de contrôles .Il effectue aussi une resynchronisation entre les fichiers de contrôle de la base de données cible et son catalogue.

4.2.2. Sauvegarde de la base de données

Pour la sauvegarde de la base de données en mode ARCHIVELOG on doit saisir la commande suivante :

RMAN>run {Allocate channel c1 type disk;Backup format 'c: \oraclexe\oradata\xe\df_%d_%t_%s_%p' database;Sql 'alter system switch logfile';Backup format ' c:\oraclexe\oradata\xe\al_%d_%t_%s_%p'Archivelog all delete input;Backup format ' c: \oraclexe\oradata\xe\ctl_%d_%t_%s_%p' current controlfile;}

Après sont exécution on a :

Sauvegarde avec l’outil RMAN Page 11

Page 12: Rapport

Suite de l’exécution qui traite une partie de la commande :

Sauvegarde avec l’outil RMAN Page 12

Page 13: Rapport

Suite de l’exécution pour montrer les différentes étapes de l’exécution.

Suite de l’exécution qui traite une autre partie de la commande :

Sauvegarde avec l’outil RMAN Page 13

Page 14: Rapport

Suite de l’exécution qui traite une partie de la commande :

On a alloue un canal de type disk pour effectuer la sauvegarde des données de la base. Ensuite on sauvegarde l’ensemble de la base de données dans des backupset qu’on expliquer en haut du rapport avec le format donné par les paramètres df_%d_%t_%s_%p dans le répertoire c:\oraclexe\oradata\xe\. On change après de redo log afin de provoque un archivage du log courant. On sauvegarde ensuite l’ensemble des archives dans c:\oraclexe\oradata\xe\ sous le format de al_%d_%t_%s_%p enfin de pouvoir les différencier. Et enfin nous faisons une sauvegarde des fichiers de contrôle.

Sauvegarde avec l’outil RMAN Page 14

Page 15: Rapport

IL y a aussi la sauvegarde en mode NOARCHIVELOG qui se fait sans utilisation du catalogue. La seule possibilité est de faire un cold backup autrement dit faire la sauvegarde avec la base de données ferme plus précisément dans l’état nomount qui n’existe pas en mode ARCHIVELOG. Pour cela voici la commande :

RMAN>run {Shutdown immediate;startup mount;Allocate channel t1 type disk;Backup format 'c: \oraclexe\oradata\xe\df_%d_%t_%s_%p' database;Sql 'alter system switch logfile';Backup format ' c:\oraclexe\oradata\xe\al_%d_%t_%s_%p'Archivelog all delete input;Backup format ' c: \oraclexe\oradata\xe\ctl_%d_%t_%s_%p' current controlfile;}

Après l’exécution de cette commande nous aurons la même chose que la mode ARCHIVELOG.

CONCLUSION

Sauvegarde avec l’outil RMAN Page 15