Administration de la Base
de Données ORACLE – Partie 2
Pr. Amal KHTIRA
2022/2023
Plan du cours
1) Gestion des utilisateurs
2) Sauvegarde et Restauration de la BD
3) Introduction à RMAN
4) Catalogue de restauration RMAN
5) Sauvegarde avec RMAN
6) Restauration et récupération avec RMAN
7) Technologie Flashback
Amal KHTIRA
Chapitre 3
Introduction à RMAN
- Présentation de RMAN
- Architecture de RMAN
- Client RMAN
- Stratégies de conservation
- Zone de Récupération Rapide et RMAN
- Sauvegarde de la base avec RMAN
Amal KHTIRA 3
Présentation de RMAN
4
Présentation de RMAN
C’est quoi RMAN ?
RMAN
RMAN (Recovery MANager) est un utilitaire standard de la base de données Oracle. Il
permet au DBA de gérer les opérations de sauvegarde/restauration de manière souple
et optimisée.
Amal KHTIRA 5
Architecture de RMAN
Les fonctions de RMAN
Réaliser des sauvegardes globales de la base, des espaces disque logiques (tablespace), des fichiers de
données (datafiles), des fichiers de contrôle (controlfiles) et des fichiers d'archive (archivelog).
Réaliser des sauvegardes incrémentielles (différentielles ou cumulatives) au niveau des blocs de données
Oracle.
Eviter de sauvegarder les blocs Oracle vides, ce qui permet un gain significatif de volume de sauvegarde.
S'interfacer avec un outil de sauvegarde externe (gestionnaire de médias).
Garder la trace des sauvegardes soit dans un catalogue de récupération (recovery catalog), soit dans les
fichiers de contrôle.
Effectuer des restaurations globales ou partielles.
Paralléliser les opérations de sauvegarde/restauration afin d'accroître les performances.
Gérer les périodes de conservation des sauvegardes.
Placer les opérations de sauvegarde/restauration courantes dans le catalogue sous forme de scripts.
Dupliquer une base de données de manière simple.
Mutualiser les scripts de sauvegardes pour les rendre indépendants du système d'exploitation.
Amal KHTIRA 6
Architecture de RMAN
Les types de sauvegarde
RMAN permet donc les types de sauvegardes suivants :
COMPLET (ou FULL) : on sauvegarde tous les blocs.
DIFFERENTIEL : on sauvegarde uniquement les blocs modifiés depuis la précédente sauvegarde de niveau n
ou inférieur.
Dim Lun Mar Mer
CUMULATIF : on sauvegarde uniquement les blocs modifiés depuis la précédente sauvegarde de niveau n-1.
Dim Lun Mar Mer
Amal KHTIRA 7
Architecture de RMAN
Le langage de script de RMAN
RMAN dispose de son propre langage de script.
Editer des rapports.
Sauvegarder ou dupliquer les bases de données.
Vérifier les sauvegardes valides, expirées et corrompues pour éviter de corrompre les bases sauvegardées,
ce qui est un avantage non négligeable.
Amal KHTIRA 8
Architecture de RMAN
9
Architecture de RMAN
Vue d’ensemble
3
Référentiel de sauvegarde
RMAN Fichier de contrôle de la base cible
ou catalogue de récupération
2 Canaux de
communication
1
Serveur Sessions
Base cible
(target) Oracle Oracle
4
Média de stockage
(disque ou bande)
Amal KHTIRA 10
Architecture de RMAN
1 Base de données Cible
La Base de données cible est la base qui est l'objet d'opérations de sauvegarde/restauration.
RMAN utilise les fichiers de contrôle de la base cible afin de récupérer les informations sur les objets à
sauvegarder.
Target
utilise
RMAN
Fichier de contrôle
Amal KHTIRA 11
Architecture de RMAN
2 Canaux de communication
Une fois RMAN se connecte à la base de données cible, il ouvre un ou des canaux de communication
permettant d'effectuer les opérations de sauvegarde/restauration.
RMAN > ALLOCATE CHANNEL
Le nombre de canaux (channels) correspond au degré de parallélisme de l'opération à effectuer.
Pour chaque canal, un channel process est défini :
Pour une sauvegarde : ce processus coordonne la lecture des fichiers de données et l'écriture à
l'emplacement spécifié.
Pour une restauration : ce processus coordonne la lecture depuis l'emplacement spécifié lors de la
sauvegarde et l'écriture des fichiers de données
Deux types de cannaux : Disk ou Tape
Amal KHTIRA 12
Architecture de RMAN
3 Référentiel de sauvegarde
Le Référentiel de sauvegarde (repository) permet de stocker les informations sur la configuration de
RMAN, les sauvegardes réalisées, la structure de la base cible, les fichiers de journalisation archivés, etc.
Le Référentiel de sauvegarde peut être stocké dans :
Le fichier de contrôle de la base cible.
- La durée de conservation des informations dans le fichier de contrôle est déterminée par le
paramètre d’initialisation CONTROL_FILE_RECORD_KEEP_TIME (7 jours par défaut).
Un catalogue de récupération (recovery catalog) qui se matérialise par un schéma dans une autre
base de données.
- Un seul catalogue de récupération peut être utilisé pour centraliser les référentiels RMAN de
plusieurs bases de données cibles.
Amal KHTIRA 13
Architecture de RMAN
4 Média de stockage
La sauvegarde de la base peut être réalisée sur un disque ou une bande.
Si une bande est utilisée, RMAN s’interface avec un logiciel de gestion de média fourni par le vendeur du
système de sauvegarde
Média de stockage
Sauvegarde
RMAN
Restauration
Disque Bande
Amal KHTIRA 14
Architecture de RMAN
Formes de sauvegarde
Une sauvegarde RMAN peut se faire sous la forme de :
Une copie image (image copy) : est une copie à l’identique du fichier.
Un jeu de sauvegarde (backup set) : contient un ou plusieurs fichiers sauvegardés
Chaque fichier d’un jeu de sauvegarde est appelé élément de sauvegarde (backup piece)
Backup Piece
Backup Set
Amal KHTIRA 15
Architecture de RMAN
Formes de sauvegarde – Copies d’image
Les Copies d'image sont des doubles des fichiers de données ou des fichiers de journalisation archivés.
Elles sont semblables à la simple copie des fichiers à l'aide des commandes du système d'exploitation.
L'avantage d'une copie d'image est une meilleure granularité pour l'opération de restauration.
Il est possible d'extraire le ou les fichiers concernés à partir de l'emplacement de sauvegarde.
Data File Data File Data File Data File Data File Data File
.DBF .DBF .DBF .DBF .DBF .DBF
Copies d’images
(Duplication des fichiers en
gardant le même format)
Amal KHTIRA 16
Architecture de RMAN
Formes de sauvegarde – Jeux de sauvegarde
Les Jeux de sauvegarde (Backup Sets) sont des ensembles de fichiers binaires qui contiennent un ou
plusieurs fichiers de données, fichiers de contrôle, fichiers de journalisation archivés, etc.
Ils ne contiennent pas les blocs de données vides, donc ils occupent moins d'espace sur disque.
Ils peuvent être compressés afin de réduire encore davantage les besoins en termes d'espace.
Il faut extraire l'ensemble du jeu de sauvegarde pour obtenir le ou les fichiers voulus.
Il est impossible de mixer dans une même librairie des fichiers de contrôle et des fichiers d'archive.
Fichier binaire
Jeu de sauvegarde
(Fichiers binaires compressés au
format propriétaire Oracle)
.BKP
Amal KHTIRA 17
Le Client RMAN
18
Le Client RMAN
Définition et Accès
Le Client RMAN est un utilitaire en ligne de commande.
RMAN utilise la mémoire Large Pool de la SGA. En cas de gestion automatique de la SGA, celle-ci
s'adapte en fonction du besoin.
Pour bien utiliser RMAN, il faut définir une zone de récupération rapide (Flash Recovery Area).
Mais cela n'est pas obligatoire
Flash Recovery Area permet de simplifier les sauvegardes/restauration
> RMAN
OU > RMAN TARGET /
RMAN > CONNECT TARGET /
Amal KHTIRA 19
Le Client RMAN
Types de commandes RMAN
Des commandes autonomes exécutées individuellement à l'invite RMAN, par exemple :
RMAN > CHANGE
RMAN > CONNECT
RMAN > CREATE CATALOG, RESYNC CATALOG
RMAN > CREATE SCRIPT, DELETE SCRIPT, REPLACE SCRIPT
Des commandes de type travail qui doivent être incluses entre les accolades de la commande RUN :
RMAN > RUN
{
ALLOCATE CHANNEL c1 DEVICE TYPE DISK FORMAT "/disk2/%U";
BACKUP AS BACKUPSET DATABASE;
SQL 'alter system archive log current';
}
Amal KHTIRA 20
Le Client RMAN
Scripts RMAN - Création
Les scripts stockés RMAN constituent une alternative aux fichiers de commandes.
Ils sont à la disposition de n'importe quel client RMAN qui peut se connecter à la base de données cible et au
catalogue de restauration.
Il y a deux types de scripts :
Scripts locaux : Ils sont associés à la base de données
CREATE SCRIPT script_name
cible à laquelle RMAN est connecté lors de leur création.
{ <RMAN commands> }
Scripts globaux : Ils peuvent être exécutés sur
CREATE GLOBAL SCRIPT script_name
n'importe quelle base de données enregistrée dans le
{ <RMAN commands> }
catalogue de restauration.
Ils peuvent être créés à partir d'un fichier texte (option additionnelle).
CREATE [GLOBAL] SCRIPT script_name FROM FILE 'file_name';
Amal KHTIRA 21
Le Client RMAN
Scripts RMAN - Exécution
RUN {
Exécuter un script :
EXECUTE SCRIPT script_name; }
RUN {
Exécuter un script global :
EXECUTE GLOBAL SCRIPT script_name; }
Pour remplacer les canaux configurés, utiliser des commandes ALLOCATE CHANNEL dans le script.
RMAN> RUN {
ALLOCATE CHANNEL ch1 DEVICE TYPE DISK;
ALLOCATE CHANNEL ch2 DEVICE TYPE DISK;
ALLOCATE CHANNEL ch3 DEVICE TYPE DISK;
EXECUTE SCRIPT full_backup; }
Amal KHTIRA 22
Le Client RMAN
Gérer les scripts RMAN stockés
Afficher un script : PRINT [GLOBAL] SCRIPT script_name;
PRINT [GLOBAL] SCRIPT script_name
Envoyer le contenu d'un script vers un fichier :
TO FILE 'file_name';
Afficher le nom des scripts définis : LIST [GLOBAL] SCRIPT NAMES;
REPLACE [GLOBAL] SCRIPT script_name
Mettre à jour un script :
{ <RMAN commands> ; }
REPLACE [GLOBAL] SCRIPT script_name
Mettre à jour un script à partir d'un fichier texte :
FROM FILE 'file_name';
Supprimer un script : DELETE SCRIPT script_name;
Amal KHTIRA 23
Le Client RMAN
Paramètres persistants de RMAN
RMAN est préconfiguré avec des paramètres par défaut.
La commande « SHOW ALL » permet de visualiser les paramètres de configuration de RMAN.
RMAN > show all
SQL> select * from V$RMAN_CONFIGURATION;
Amal KHTIRA 24
Le Client RMAN
Paramètres persistants de RMAN
La commande CONFIGURE permet d’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 éléments de sauvegarde
Exclure un tablespace de la sauvegarde
Activer et désactiver l'optimisation de la sauvegarde
Définir la stratégie de suppression des fichiers de journalisation archivés
Indiquer le parallélisme pour un périphérique
Définir les paramètres de cryptage et de compression à utiliser pour les sauvegardes
Configurer la sauvegarde automatique des fichiers de contrôle
RMAN > CONFIGURE CONTROLFILE AUTOBACKUP ON;
Amal KHTIRA 25
Stratégies de Conservation
26
Stratégies de conservation
Les deux types
Stratégie de conservation
Elle décrit les sauvegardes qui seront conservées, et pendant combien de temps.
1 2
Fenêtre de récupération Redondance
Amal KHTIRA 27
Stratégies de conservation
1 Fenêtre de récupération
Une Fenêtre de récupération (recovery window) indique jusqu’à combien de jours dans le passé vous
souhaitez pouvoir revenir.
Pour chaque fichier de données, il doit toujours exister au moins une sauvegarde satisfaisant à la
condition suivante : SYSDATE - backup_checkpoint_time >= recovery_window
Sauvegarde 1 Fenêtre de
récupération SYSDATE
Commande pour configurer une stratégie de conservation avec fenêtre de récupération
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF <days> DAYS;
où <days> est la taille de la fenêtre de récupération
Amal KHTIRA 28
Stratégies de conservation
1 Fenêtre de récupération : Exemple
Sauvegarde 1 Sauvegarde 1 Sauvegarde 1
Sauvegarde 1
Sauvegarde 1
La sauvegarde B et les fichiers de journalisation archivés 201 à 500 sont nécessaires pour satisfaire
à cette stratégie de conservation.
La sauvegarde B permet d'effectuer une récupération jusqu'à un point donné situé au début de la fenêtre
de récupération, tandis que C non. De plus, B est plus récente que A.
Amal KHTIRA 29
Stratégies de conservation
2 Redondance
La Redondance (Redundancy) établit un nombre fixe de sauvegardes qui doivent être conservées.
Sauvegarde 1 Sauvegarde 2
SYSDATE
La stratégie de conservation par défaut présente une redondance de 1, ce qui signifie qu'une seule
sauvegarde du fichier doit exister à un instant donné.
Une sauvegarde est considérée comme obsolète lorsqu'une version plus récente du même fichier a
été sauvegardée.
La commande pour reconfigurer une stratégie de conservation tenant compte de la redondance :
RMAN > CONFIGURE RETENTION POLICY TO REDUNDANCY <copies>;
où <copies> est le nombre de copies nécessaires pour satisfaire à la stratégie.
Amal KHTIRA 30
Stratégies de conservation
Désactivation de la stratégie de conservation
Il est possible de désactiver la stratégie de conservation dans son ensemble. Cela peut être le cas si un
système extérieur à RMAN sauvegarde les disques sur bande.
Si la stratégie de conservation est désactivée, aucune sauvegarde n'est considérée comme obsolète par
RMAN.
RMAN n'a pas besoin de décider quand supprimer une sauvegarde du disque (car un autre utilitaire s'en
charge) et il est donc inutile de le configurer pour la prise de cette décision.
Dans ce cas, les enregistrements de chaque sauvegarde sont conservés aussi longtemps qu'indiqué dans
le paramètre d'initialisation CONTROL_FILE_RECORD_KEEP_TIME.
La commande pour désactiver la stratégie de conservation :
RMAN > CONFIGURE RETENTION POLICY TO NONE;
Amal KHTIRA 31
Zone de récupération rapide et
RMAN
32
Zone de récupération rapide et RMAN
Gestion de l’espace de la FRA
Pour éviter de manquer d'espace dans la Zone de Récupération Rapide (FRA), effectuer les opérations
suivantes lorsque cela est nécessaire ou opportun :
Utiliser RMAN pour supprimer les fichiers inutiles de la zone de récupération rapide.
Utiliser RMAN pour réaliser des sauvegardes fréquentes de la zone de récupération rapide.
Modifier la stratégie de conservation RMAN afin de conserver les sauvegardes pendant une période
plus limitée.
Stocker les fichiers de journalisation archivés dans la zone de récupération rapide, puis supprimer les
redo logs après la réussite de leur sauvegarde
BACKUP ARCHIVELOG ALL DELETE ALL INPUT;
Modifier la stratégie RMAN de suppression des fichiers de journalisation archivés. Cette stratégie
s'applique à toutes les destinations d'archivage, y compris la zone de récupération rapide.
CONFIGURE ARCHIVELOG DELETION POLICY
Ajouter de l'espace disque et augmenter la valeur du paramètre d'initialisation de base de données
DB_RECOVERY_FILE_DEST_SIZE.
Amal KHTIRA 33
Sauvegarde de la base
avec RMAN
34
Sauvegarde de la base avec RMAN
Sauvegarde totale
Copie de tous les fichiers de données et du fichier de contrôle.
Copie des fichiers de paramètres (SPFILE) et des fichiers de journalisation archivés (archived redo logs)
RMAN > BACKUP DATABASE PLUS ARCHIVELOG;
Copies
Data Files Control Files Archived Redo Parameter File
Log Files (SPFILE)
Amal KHTIRA 35
Sauvegarde de la base avec RMAN
Affichage des sauvegardes
La commande LIST BACKUP affiche les sauvegardes de la base.
RMAN > LIST BACKUP ;
Amal KHTIRA 36
Sauvegarde de la base avec RMAN
Suppression des sauvegardes
Supprimer une sauvegarde avec la clé primaire de List backup RMAN > DELETE BackupPiece 1;
Supprimer toutes les sauvegardes stockées sur le disque RMAN > DELETE BACKUP;
Pour supprimer de la base une sauvegarde qui n’existe pas sur le disque
1) Utiliser la commande CROSSCHECK pour vérifier si une sauvegarde enregistrée existe sur le
disque. Le mot EXPIRED indique que la sauvegarde n’existe pas
RMAN > CROSSCHECK BACKUP;
2) Supprimer les sauvegardes expirées
RMAN > DELETE EXPIRED BACKUP;
Amal KHTIRA 37
Merci pour votre attention