Vous êtes sur la page 1sur 46

Administration des bases de données sur Oracle

11g

ChapV : RECOVERY MANAGER

Faculté des Sciences et techniques –Tanger-


Département –génie informatique-
C.ing LSI2
PLAN

Introduction RMAN
Les Techniques de sauvegarde
Les composantes RMAN
Configuration de RMAN
Les Commandes RMAN
Solutions de sauvegarde

Les sauvegardes peuvent être effectuées via :

• Recovery Manager

• Oracle Secure Backup

• un scénario géré par l'utilisateur


Recovery Manager (RMAN)

RMAN :

– est un client en mode ligne de commande

– sauvegarde
les fichiers de données,
les fichiers de contrôle,
les fichiers de journalisation archivés
et les fichiers de paramètres serveur (SPFILE)

– sauvegarde les fichiers sur disque ou sur bande


Techniques de sauvegardes
Solutions de sauvegarde

• La stratégie de sauvegarde peut inclure :

– la base de données entière (sauvegarde totale)


– une partie de la base de données (sauvegarde partielle)

• Le type de sauvegarde peut indiquer l'inclusion de :

– toutes les informations de tous les fichiers de données :


(sauvegarde complète)
– seules les informations modifiées depuis une précédente sauvegarde
(sauvegarde incrémentielle)

• Le mode de sauvegarde peut être :

– base fermée (sauvegarde cohérente, à froid)


– base ouverte (sauvegarde incohérente, à chaud)
Composants de Recovery Manager
Composants de Recovery Manager
Composants de Recovery Manager

Exécutable Recovery Manager : L'interface de ligne de commande de Recovery


Manager est appelée via l'application client RMAN.

Enterprise Manager : La console Enterprise Manager Database Control fournit


une interface graphique vers les fonctionnalités les plus couramment utilisées de
RMAN.
Composants de Recovery Manager

Sessions serveur : Les processus (UNIX) ou threads (Windows) serveur appelés


par RMAN se connectent à la base de données cible afin d'exécuter les fonctions
de sauvegarde, de restauration et de récupération, par l'intermédiaire d'une
interface PL/SQL.

Base de données cible : La base de données pour laquelle les opérations de


sauvegarde et de récupération sont effectuées via RMAN est appelée base de
données cible.
Composants de Recovery Manager
Base de données auxiliaire : Une base de données auxiliaire est utilisée lors de la
création d'une base dupliquée .

Canal : Un canal représente un flux de données vers un type de périphérique.


Pour effectuer et enregistrer les opérations de sauvegarde et de récupération,
RMAN nécessite un lien vers la base de données cible.
Le canal établit ce lien en créant, dans la base cible, une session capable de créer
une interface avec le système de fichiers hôte (interface avec les disques) et avec la
bibliothèque de gestion des supports (MML - Media Management Library).
Composants de Recovery Manager
Référentiel RMAN : Les métadonnées sur la base de données cible et sur ses
opérations de sauvegarde et de récupération sont conservées dans le référentiel
RMAN. Les données du référentiel RMAN sont toujours stockées dans le fichier
de contrôle de la base de données cible.

Catalogue de restauration : Les données du référentiel RMAN peuvent


éventuellement être conservées dans un catalogue de restauration, c'est-à-dire dans
une base Oracle distincte.

Media Management Library (MML) : MML est utilisé par RMAN lors de
l'écriture ou de la lecture sur bande. Le produit Oracle Secure Backup permet à
RMAN d'effectuer des sauvegardes sur bande sans outils tiers.
Configuration de Recovery Manager
Etapes de configuration de RMAN

1. Déterminez l'emplacement du référentiel :


fichier de contrôle ou catalogue de restauration.

2. Définissez une base de données et des variables


d'environnement.

3. Démarrez RMAN et connectez-vous à la base de données cible


et, éventuellement, à la base de données du catalogue de
restauration.

4. Configurez les paramètres.


Stockage des données du référentiel RMAN :
Comparaison des options

Fichier de contrôle : Catalogue de restauration :

– Administration plus simple – Copie des données du fichier de contrôle


– Par défaut – Possibilité de servir plusieurs cibles
– Possibilité de stocker des scripts RMAN
Stockage des données du référentiel RMAN :
Comment configurer un catalogue de restauration

1. Créez la base de données à utiliser en tant que catalogue de restauration.


Etant donné qu'un même catalogue de restauration peut stocker les
informations de plusieurs bases de données, vous pouvez choisir de créer un
seul catalogue pour l'ensemble des bases à sauvegarder.

2. Dans la base de données du catalogue de restauration, créez l'utilisateur qui


sera propriétaire des données.
Par exemple
catdb le nom de la base de données du catalogue
rcat_ts le nom du tablespace créé pour le stockage des données du
catalogue.

$ sqlplus sys/password@catdb as sysdba


SQL> CREATE USER rman IDENTIFIED BY cat
2 TEMPORARY TABLESPACE temp
3 DEFAULT TABLESPACE rcat_ts
4 QUOTA UNLIMITED ON rcat_ts;
Stockage des données du référentiel RMAN :
Comparaison des options

3. Affectez le rôle RECOVERY_CATALOG_OWNER au propriétaire du


catalogue. Ce rôle fournit à l'utilisateur l'ensemble des privilèges requis pour
gérer et interroger le catalogue de restauration.

GRANT RECOVERY_CATALOG_OWNER TO rman;

4. Démarrez RMAN et connectez-vous en tant que propriétaire du catalogue.

$ rman catalog rman/cat@catdb


RMAN> CREATE CATALOG TABLESPACE rcat_ts;

5. Connectez-vous à la base de données cible en utilisant RMAN, puis


enregistrez-la dans le catalogue de restauration que vous venez de créer.

$ rman target sys/oracle@orcl catalog rman/cat@catdb


RMAN> register database;
Destinations des sauvegardes

Les sauvegardes peuvent être écrites dans les emplacements suivants :

• Répertoire sur disque

• Bibliothèque de gestion des supports (périphérique de bande)

• Zone de récupération rapide :

 une zone de disque dédiée à la sauvegarde et à la récupération ainsi qu'au


flashback de la base de données.
Types de connexion avec RMAN

Rman target /

Rman target sys/password@DBNAME no catalog

Rman target sys/password@DBNAME

catalog rmancat_user/password@cat_DBNAME

Le paramètre target permet de spécifier la base de données cible.

L'option nocatalog permet de spécifier que l'on n'utilise pas de catalogue RMAN.

L'option catalog u2/p2[@aliascatalog] permet de se connecter au catalogue RMAN.


Démarrer RMAN

C:\> SET ORACLE_SID=DB01


C:\> rman target /

Si vous n'indiquez pas d'ID utilisateur ou de mot de passe lors de la connexion à


la base de données cible, une barre oblique établit une connexion en tant
qu'utilisateur SYS, par l'intermédiaire de l'authentification par le système
d'exploitation.

Vous pouvez également indiquer le mot-clé NOCATALOG de la façon suivante :

$ rman target / nocatalog

NOCATALOG est le mode par défaut


Configurer des paramètres persistants pour RMAN

RMAN est préconfiguré avec des paramètres par défaut.

Utilisez la commande CONFIGURE pour effectuer les opérations suivantes :

– Configurer des canaux automatiques


– Définir la stratégie de conservation des sauvegardes
– Définir le nombre de copies de sauvegarde à créer
– Définir le type de sauvegarde BACKUPSET ou COPY par défaut
– Limiter la taille des jeux de sauvegarde
– Exempter un tablespace de la sauvegarde
– Activer et désactiver l'optimisation de la sauvegarde
– Configurer la sauvegarde automatique des fichiers de contrôle
Exécution en parallèle de jeux de sauvegarde

RMAN offre la possibilité de paralléliser les opérations de sauvegarde. On peut donc


allouer plusieurs canaux de sauvegarde par type de device.

l'option PARALLELISM de la commande CONFIGURE doit recevoir une valeur


supérieure à 1

Si on considère que le device DISK ait été configuré en parallèle sur 2 canaux :

RMAN> CONFIGURE DEVICE TYPE DISK PARALLELISM 2;

on peut créer deux canaux de sauvegardes en leur spécifiant le chemin des jeux de
sauvegardes :

RMAN> configure channel 1 DEVICE TYPE DISK


FORMAT '/u04/save/mgmt_rman/ora_df%t_s%s_s%p';

RMAN> configure channel 2 DEVICE TYPE DISK


FORMAT '/u05/save/mgmt_rman/ora_df%t_s%s_s%p';
Exécution en parallèle de jeux de sauvegarde
Format Description

%d spécifie le nom de la base de données


spécifie un nom de 8 caractères constitué par des représentations compressées du
%u numéro du jeu de sauvegarde et le temps de jeu de sauvegarde a été créée.
indique le nombre de pièces de sauvegarde dans le jeu de sauvegarde. Cette valeur
%p commence à 1 pour chaque jeu de sauvegarde et est incrémenté de 1 chaque fois
qu'un élément de sauvegarde est créé.

Indique le nombre de copies de la pièce de sauvegarde au sein d'un ensemble de


pièces de sauvegarde recto verso. Si vous n'avez pas la commande set duplex, alors
%c cette variable sera de 1 pour les jeux de sauvegardes régulières et 0 pour les copies
de proxy. Si vous avez émis duplex défini, la variable identifie le nombre de copies:
1, 2, 3, ou 4.

Indique un raccourci commode pour %u_ %p_%c qui garantit l'unicité des noms de
%U fichiers de sauvegarde générés. Si vous ne spécifiez pas un format, RMAN utilise %U
par défaut.

%t spécifie l'horodatage du jeu de sauvegarde. La combinaison de %s et % t peut être


utilisé pour former un nom unique pour le jeu de sauvegarde.
spécifie le nombre jeu de sauvegarde. Ce nombre est un compteur dans le fichier de
contrô le qui est incrémenté pour chaque jeu de sauvegarde. La valeur du compteur
%s démarre à 1 et est unique pour toute la durée du fichier de contrô le. Si vous
restaurez un fichier de contrô le, les valeurs en double peuvent en résulter.
Politique de conservation des données

Il existe deux types de politique de conservation des données sous rman par
database à sauvegarder :

a) Redondance de sauvegardes (REDUNDANCY)

b) Nombre de jours de restaurations (WINDOW)


Politique de conservation des données

a) Redondance de sauvegardes (REDUNDANCY)

permet de s’assurer via rman qu’à une database correspondra toujours un


certain nombre fixe de sauvegardes au minimum.

Exemple:

Certaines production exige de pouvoir revenir, quel que soit le moment, à deux
niveaux de versions antérieur, pour des sauvegardes régulières journalières, ce
qui porterait le nombre de redondance de sauvegarde à 3 (versions).

Syntaxe:

CONFIGURE RETENTION POLICY [ TO REDUNDANCY <n> ];


Politique de conservation des données

b) Nombre de jours de restaurations (WINDOW)

permet de s’assurer via rman qu’il sera toujours possible de remonter à j-n, n
étant à fixer.

Exemple:

revenir à la dernière sauvegarde du mois dernier => fixer le paramètre n à 30


(jours) environ.

Syntaxe:

CONFIGURE RETENTION POLICY TO [ RECOVERY OF <n> DAYS];


Sauvegarde automatique des fichiers de contrôles

Lorsque vous sauvegardez une base de donnée, il est indispensable, de


sauvegarder un certain nombre d’éléments dont les fichiers de contrôles et les
fichier d’initialisation.

Cette opération est effectuée, automatiquement par rman qui les intégrera aux
backup set.

Syntaxe:
CONFIGURE CONTROLFILE AUTOBACKUP ON;
Commandes de Recovery Manager
Types de commande RMAN

Certaines commandes peuvent être exécutées soit en tant que commande


autonome, soit en tant que commande de type travail

Les commandes RMAN peuvent être de différents types :

• Commande autonome :

– Est exécutée individuellement à l'invite RMAN


– Ne peut pas apparaître sous forme de sous-commande de la commande
RUN

• Commande de type travail :

– Doit être incluse entre les accolades de la commande RUN


– Est exécutée en tant que groupe
Types de commande RMAN

Les commandes de type travail apparaissent dans un bloc de commande RUN :

RMAN> RUN {
2> BACKUP AS BACKUPSET
3> FORMAT '/u01/db01/backup/%d_%s_%p'
5> (DATABASE);
6> SQL 'alter system archive log current';
7> }
Types de commande RMAN
Types de commande RMAN

• BACKUP pour sauvegarder une base de données, un tablespace, un fichier de


données, un fichier de contrôle, un fichier SPFILE, un fichier de journalisation
archivé ou un jeu de sauvegarde pour une base de données cible ou une base de
secours.

• DUPLICATE pour créer une base de données clone ou une base de secours à
partir de sauvegardes (jeux de sauvegarde ou copies d'image) de la base cible.
Types de commande RMAN

• FLASHBACK pour effectuer une opération Flashback Database, afin de rétablir


la base de données dans un état correspondant à un instant passé (ou dans un état
juste avant un instant passé), cet instant étant défini par un horodatage, un numéro
SCN (System Change Number) ou un numéro de séquence de journal.

• RECOVER pour récupérer et RESTORE pour restaurer des fichiers à partir de


sauvegardes ou de copies d'image.
Types de commande RMAN

Les commandes RMAN d'édition d'états :


• LIST pour interroger le catalogue de restauration ou le fichier de contrôle et pour
générer la liste des sauvegardes, des copies, des fichiers de journalisation archivés
(archived redo logs) et des incarnations de base de données qui y sont enregistrés.

• REPORT pour procéder à l'analyse détaillée du catalogue de restauration ou du


fichier de contrôle.
Types de commande RMAN

Les commandes RMAN de la maintenance du catalogue :


• CROSSCHECK examine le statut d'une sauvegarde ou d'une copie sur disque ou
sur bande.
• DELETE affiche les objets de sauvegarde indiqués et invite l'utilisateur à
confirmer leur suppression.
• CHANGE modifie le statut des objets de sauvegarde dans le référentiel
(repository).
• LIST affiche les données qui seraient traitées par CROSSCHECK/DELETE
EXPIRED en cas d'exécution.
Commande BACKUP
Lorsque vous effectuez une sauvegarde à l'aide de RMAN, vous pouvez indiquer :
• Le type de sauvegarde à effectuer.
(sauvegarde FULL) ou des sauvegardes incrémentielles (INCREMENTAL).
• Ce qui doit être sauvegardé.
Les valeurs valides sont DATABASE, DATAFILE, TABLESPACE, ARCHIVELOG,
CURRENT CONTROLFILE et SPFILE.
• Si une copie d'image (AS COPY) ou un jeu de sauvegarde (AS BACKUPSET) est
créé(e).
• Le format de nom de fichier et l'emplacement des éléments de sauvegarde
(FORMAT).
• Quels fichiers de données ou fichiers de journalisation archivés doivent être exclus
du jeu de sauvegarde (SKIP).
• La taille maximale du jeu de sauvegarde (MAXSETSIZE).
• Si les fichiers d'entrée doivent être supprimés suite à la création réussie du jeu de
sauvegarde (DELETE INPUT).

RMAN> BACKUP AS BACKUPSET


2> FORMAT '/BACKUP/df_%d_%s_%p.bus'
3> TABLESPACE hr_data;
Sauvegardes compressées
Copie d'image

Une copie d'image est un clone d'un fichier de données, d'un fichier de
journalisation archivé ou d'un fichier de contrôle unique.
Une copie d'image peut être créée avec la commande BACKUP AS COPY ou
avec une commande du système d'exploitation.
Balises pour les sauvegardes et les copies d'image

Une balise est un nom significatif que vous pouvez affecter à un jeu de
sauvegarde ou à une copie d'image.

Exemple

• Chaque mois, une sauvegarde complète des fichiers de données 1, 2, 3 et 4 est


effectuée. La balise de cette sauvegarde dans le fichier de contrôle est
month_full_backup, bien que le nom de fichier physique généré soit
df_DB00_863_1.dbf :

RMAN> BACKUP TAG 'month_full_backup' DATAFILE 1,2,3,4;

• Chaque semaine, une sauvegarde complète des fichiers de données 3 et 4 est


effectuée. Le nom de la balise de cette sauvegarde est week_full_backup.

RMAN> BACKUP TAG 'week_full_backup' DATAFILE 3,4;


Types de sauvegarde RMAN

Une sauvegarde complète contient tous les blocs de


fichier de données utilisés.

Une sauvegarde incrémentielle de niveau 0 est une


sauvegarde complète marquée en tant que niveau 0.
RMAN> BACKUP INCREMENTAL LEVEL 0 DATABASE;

Une sauvegarde incrémentielle cumulative de niveau


1 contient uniquement les blocs modifiés depuis la
dernière sauvegarde incrémentielle de niveau 0.
RMAN> BACKUP INCREMENTAL LEVEL 1 CUMULATIVE
DATABASE;

Une sauvegarde incrémentielle différentielle de


niveau 1 contient uniquement les blocs modifiés
depuis la dernière sauvegarde incrémentielle.
RMAN> BACKUP INCREMENTAL LEVEL 1 DATABASE;
Types de sauvegarde RMAN

une entreprise a opté pour une stratégie de sauvegarde utilisant à la fois les
sauvegardes incrémentielles et les sauvegardes cumulatives.

Une sauvegarde incrémentielle de niveau 0 est effectuée chaque dimanche. Deux fois par
semaine, le mercredi et le vendredi, une sauvegarde cumulative est effectuée afin de
limiter le temps de récupération de la base de données. Les autres jours, une sauvegarde
différentielle est effectuée afin de réduire la durée de la sauvegarde et les besoins en termes
d'espace de stockage.
Commande LIST

• Répertorier les jeux de sauvegarde et les copies des fichiers de données :

RMAN> LIST BACKUP OF DATABASE;


RMAN> LIST BACKUP OF DATAFILE
2> "/db01/ORADATA/u03/users01.dbf";

• Répertorier les jeux de sauvegarde et les copies de n'importe quel fichier de


données pour un tablespace désigné :

RMAN> LIST COPY OF TABLESPACE "SYSTEM";

• Répertorier les jeux de sauvegarde et les copies contenant les fichiers de


journalisation archivés pour une plage désignée :

RMAN> LIST COPY OF DATABASE ARCHIVELOG


2> FROM TIME='SYSDATE-7';
Commande REPORT

• Elle génère une analyse détaillée du référentiel.


• Elle génère des états permettant de répondre aux questions suivantes :

• Quelle est la structure de la base de données ?


RMAN> REPORT SCHEMA;
• Quels fichiers doivent être sauvegardés ?
RMAN> REPORT NEED BACKUP ...;
• Quelles sauvegardes peuvent être supprimées (sont obsolètes) ?
RMAN> REPORT OBSOLETE;
• Quels fichiers ne peuvent pas être récupérés en raison d'opérations
irrécupérables ?
RMAN> REPORT UNRECOVERABLE ...;
Commande REPORT NEED BACKUP

• Elle répertorie tous les fichiers de données qui nécessitent une sauvegarde.

• Elle suppose que la sauvegarde la plus récente est utilisée au cours d'une
restauration.

• Elle offre quatre options :

– Incremental
– Days
– Redundancy
– Recovery window

• Elle utilise la configuration de la stratégie de conservation actuelle si


aucune option n'est indiquée.
Commande REPORT NEED BACKUP
Exemples

• Fichiers nécessitant plus de trois sauvegardes incrémentielles pour la


récupération :

RMAN> REPORT NEED BACKUP incremental 3;

• Fichiers n'ayant pas été sauvegardés depuis trois jours :

RMAN> REPORT NEED BACKUP days 3;

• Sauvegarde requise s'il n'y a pas déjà au moins deux sauvegardes :

RMAN> REPORT NEED BACKUP redundancy 2;

• Sauvegarde requise pour une récupération remontant à 3 jours :


RMAN> REPORT NEED BACKUP
2> recovery window of 3 days;
Commande REPORT OBSOLETE et DELETE OBSOLETE

Rechercher tous les fichiers de récupération considérés comme obsolètes


d'après les paramètres de la stratégie de conservation en vigueur :

RMAN> REPORT OBSOLETE;

• Répertorier les fichiers de récupération obsolètes dans le cas où il suffit de


deux copies de sauvegarde :
RMAN> REPORT OBSOLETE REDUNDANCY 2;

• Supprimer le jeu de sauvegarde dont la clé est 4 :


RMAN> DELETE BACKUPSET 4;

• Supprimer les fichiers de récupération considérés comme obsolètes parce


qu'ils possèdent plus de deux sauvegardes :
RMAN> DELETE OBSOLETE REDUNDANCY 2;

Vous aimerez peut-être aussi