Administration de la Base
de Données ORACLE – Partie 2
Pr. Amal KHTIRA
2021/2022
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 6
Restauration et Récupération RMAN
- Principe de restauration et de récupération
- RMAN : RESTORE et RECOVER
- Aperçu des sauvegardes à restaurer
- Validation de la sauvegarde avant la restauration
- Récupération jusqu’à un point dans le temps
Amal KHTIRA 3
Principe de Restauration et de
Récupération
4
Principe de restauration et de récupération
Différence entre restauration et récupération
La restauration d'un fichier est le processus de copie d'une
sauvegarde à un emplacement où la base de données peut
l'utiliser. Restaurer
Autrement dit, restaurer tous les fichiers manquants. Disque
Emplacement
de la BD
La récupération du fichier consiste à appliquer les informations
de journalisation de façon à avancer l'état du fichier dans le
temps, jusqu'au point de votre choix. Ce point est
généralement aussi proche que possible de l'heure de la Récupérer
défaillance. Fichier de Emplacement
journalisation de la BD
Autrement dit, rejouer les redologs
Amal KHTIRA 5
Principe de restauration et de récupération
Types de récupération
Une récupération peut avoir deux portées distinctes :
Récupération complète : permet de rétablir une base de données à jour, incluant toutes les
modifications valides apportées aux données jusqu'au point dans le temps où la récupération a été
demandée.
Récupération incomplète ou jusqu'à un point dans le temps : rétablit la base de données dans un état qui
correspond à un point spécifique précédant la demande de récupération.
Amal KHTIRA 6
Principe de restauration et de récupération
Processus de récupération
Appliquer les changements depuis
les fichiers de journalisation
Fichiers de données Fichiers de données contenant des
restaurés transactions validées et non validées
Annuler les transactions non
Restaurer les fichiers validées en utilisant les blocs
endommagés à partir d’une
3
1 d’annulation
sauvegarde (sur disque ou
bande)
Disque
Fichiers de données récupérés et
cohérents avec les autres fichiers
de données de la base.
Amal KHTIRA 7
Principe de restauration et de récupération
Exemples de récupération
Perte d'un fichier de données non critique en mode ARCHIVELOG
Si un fichier de données est perdu ou endommagé et qu’il n'appartient pas au tablespace SYSTEM ou
UNDO Effectuer une restauration et une récupération
Perte d'un fichier de données critique pour un système en mode ARCHIVELOG
Si un fichier de données est perdu ou endommagé et qu’il appartient au tablespace SYSTEM ou UNDO (ou
SYSAUX), on procède comme suit :
1) L'instance peut ou non s'arrêter automatiquement. Si elle ne s'arrête pas, utiliser la commande
SHUTDOWN ABORT.
2) Monter la base de données.
3) Restaurer et récupérer le fichier de données manquant.
4) Ouvrir la base de données.
Amal KHTIRA 8
RMAN : RESTORE et RECOVER
9
RMAN : RESTORE et RECOVER
Deux commandes complémentaires
La reconstitution de tout ou partie du contenu d'une base de données à partir d’une sauvegarde implique
généralement deux phases :
1) Extraction d'une copie du fichier de données à partir d'une sauvegarde RESTORE
RESTORE {DATABASE | TABLESPACE name [,name]... | DATAFILE name [,name] }...
2) Ré-application des changements effectués depuis la sauvegarde à l'aide des fichiers de
journalisation archivés (archived redo logs) et en ligne (online), afin d'amener la base de données
jusqu'au numéro SCN souhaité (généralement le plus récent) RECOVER
RECOVER {DATABASE | TABLESPACE name [,name]... | DATAFILE name [,name] }...
Amal KHTIRA 10
RMAN : RESTORE et RECOVER
La commande RESTORE
Restauration de toute la base de données :
RMAN > RESTORE DATABASE;
Restauration d’un ou plusieurs tablespaces :
RMAN > RESTORE TABLESPACE tbs1;
RMAN > RESTORE TABLESPACE tbs1, tbs2; SQL > select file_id, file_name
from DBA_DATA_FILES;
Restauration d’un ou plusieurs fichiers de données :
RMAN > RESTORE DATAFILE 'C:/app/poste/oradata/orcl/[Link]';
RMAN > RESTORE DATAFILE 'C:/app/poste/oradata/orcl/[Link]', 'C:/app/poste/oradata/orcl/[Link]';
RMAN > RESTORE DATAFILE 34, 35;
Amal KHTIRA 11
RMAN : RESTORE et RECOVER
La commande RESTORE
Restauration des fichiers de journalisation archivés :
RMAN > RESTORE ARCHIVELOG ALL;
RMAN > RESTORE ARCHIVELOG FROM SEQUENCE 153 UNTIL SEQUENCE 175;
RMAN > RESTORE ARCHIVELOG FROM SCN 56789;
RMAN > SET ARCHIVELOG DESTINATION TO 'C:/archivelogs/';
Amal KHTIRA 12
RMAN : RESTORE et RECOVER
La commande RECOVER
La commande RECOVER utilise la copie restaurée du fichier de données et applique à ce fichier les
modifications enregistrées dans les fichiers de journalisation de la base de données.
RMAN > RECOVER DATABASE;
RMAN > RECOVER TABLESPACE tbs1;
RMAN > RECOVER TABLESPACE tbs1, tbs2;
RMAN > RECOVER DATAFILE 'C:/app/poste/oradata/orcl/[Link]';
RMAN > RECOVER DATAFILE 34, 35;
Amal KHTIRA 13
Aperçu des sauvegardes à
restaurer
14
Aperçu des sauvegardes à restaurer
Aperçu détaillé
Avant de restaurer la base de données, il est possible d’afficher les détails de tous les jeux de sauvegarde qui
seront utilisés avec les SCN faisant partie du fichier de sauvegarde.
La commande ne fait vraiment pas la restauration. Elle fournit juste un rapport de la restauration.
RMAN > RESTORE DATABASE PREVIEW;
Amal KHTIRA 15
Aperçu des sauvegardes à restaurer
Aperçu résumé
La commande PREVIEW est trop détaillée. Si on veut afficher uniquement un résumé des sauvegardes, on
peut utiliser la commande suivante :
RMAN > RESTORE DATABASE SUMMARY;
Amal KHTIRA 16
Aperçu des sauvegardes à restaurer
Exemples
Les éléments suivants sont également des options de prévisualisation valides.
RMAN > RESTORE TABLESPACE tbs1 PREVIEW;
RMAN > RESTORE DATAFILE 'C:/app/poste/oradata/orcl/[Link]' PREVIEW;
RMAN > RESTORE ARCHIVELOG ALL PREVIEW;
RMAN > RESTORE ARCHIVELOG FROM SCN 23574 PREVIEW;
Amal KHTIRA 17
Validation de la sauvegarde avant
la restauration
18
Validation de la sauvegarde avant la restauration
Ou DRY-RUN
Avant de procéder à la restauration, il est préférable de valider la sauvegarde pour s’assurer que la
sauvegarde elle-même n'est pas corrompue et que tous les fichiers requis pour effectuer la sauvegarde
sont réellement présents dans le répertoire de sauvegarde.
En fonction de la taille de la base de données, cette opération peut prendre un certain temps.
Techniquement, cela revient à restaurer la base de données, à la différence que cela n’effectue pas la
restauration réelle et qu’il exécute uniquement l’exécution à sec.
L'opération de validation lira réellement tous les blocs de la sauvegarde RMAN pour s'assurer de leur validité.
Commande pour valider la sauvegarde avant la restauration (DRY-RUN) :
RMAN > RESTORE DATABASE VALIDATE;
Amal KHTIRA 19
Récupération jusqu’à un point
dans le temps
20
Récupération jusqu’à un point dans le temps
Gestion des points de restauration
Création d’un point de restauration en attribuant un nom à un point dans le temps :
Maintenant : RMAN > CREATE RESTORE POINT before_upgrade;
Dans le passé : RMAN > CREATE RESTORE POINT end_q1 AS OF SCN 100;
Affichage des points de restauration à l’aide de la vue v$restore_point :
SQL > select name, scn from V$RESTORE_POINT;
Suppression d’un point de restauration :
SQL > DROP RESTORE POINT before_upgrade;
Amal KHTIRA 21
Récupération jusqu’à un point dans le temps
Les étapes de récupération jusqu’à un point donné (1/3)
1) Déterminer le point cible de la restauration : SCN, heure ou point de restauration.
2) Définir les variables d'environnement (National Language Support) de sorte que les constantes
temporelles fournies à RMAN soient formatées correctement.
SQL > select parameter, value from V$NLS_PARAMETERS where parameter in ('NLS_LANGUAGE',
'NLS_TERRITORY', ‘NLS_CHARACTERSET‘);
> setx NLS_LANG = american_america.us7ascii
> setx NLS_DATE_FORMAT = "yyyy-mm-dd:hh24:mi:ss"
3) Monter la base de données.
SQL > shutdown immediate
SQL > startup mount
Amal KHTIRA 22
Récupération jusqu’à un point dans le temps
Les étapes de récupération jusqu’à un point donné (2/3)
4) Préparer et exécuter un bloc RUN à l'aide des commandes : SET UNTIL, RESTORE et RECOVER.
Exemple :
RUN
{
SET UNTIL RESTORE POINT before_upgrade;
RESTORE DATABASE;
RECOVER DATABASE;
}
SET UNTIL TIME '2018-08-[Link]’;
SET UNTIL TIME "TO_DATE('22-APR-2018 [Link]','DD-MON-YYYY HH24:MI:SS')";
Amal KHTIRA 23
Récupération jusqu’à un point dans le temps
Les étapes de récupération jusqu’à un point donné (3/3)
5) Ouvrir la base de données en mode READ ONLY, puis vérifier que le point de restauration répond aux
attentes.
RMAN > SQL 'ALTER DATABASE OPEN READ ONLY';
Ou, Ouvrir la base de données avec RESETLOGS.
RMAN > SQL 'ALTER DATABASE OPEN RESETLOGS';
− Archive les fichiers de journalisation en ligne (online redo logs) actuels
(s'ils sont accessibles)
− Efface le contenu des online redo logs
− Réinitialise le numéro de séquence du online redo log à 1
Amal KHTIRA 24
Merci pour votre attention