Vous êtes sur la page 1sur 44

Chapitre V:

Sauvegardes et Restaurations d’une Base de


données oracle
 Stratégie de Sauvegardes et Restaurations
 Les modes NOARCHIVELOG et ARCHIVELOG
 mode ARCHIVELOG

 Mode NOARCHIVLOG

 Rman (Recovery Manager )


 Présentation

 Les fonctions de RMAN .


 Les différents types de sauvegardes RMAN
 Sauvegarder une base de données avec RMAN
 Restauration une base de données avec RMAN
1
Sauvegardes et Restaurations d’une Base de données oracle

Stratégie de Sauvegardes et Restaurations

La principale responsabilité du DBA est de prendre les mesures nécessaires pour


assurer la sécurité et la disponibilité des données.:
 Il doit restituer les données en cas d’incident matériel ou d’erreur de
manipulation.
Cette sécurité est assurée par :
La mise en œuvre d’une protection des fichiers sensibles de la base
- Fichiers de contrôle
- Fichiers de Redo Log
La mise en place d’une stratégie de sauvegarde/restauration
-Adaptée aux contraintes de l’entreprise
- Et qui aura été complètement testée et documentée

2
Sauvegardes et Restaurations d’une Base de données oracle

Stratégie de Sauvegardes et Restaurations

Le DBA doit faire des sauvegardes régulières de la base de


données.
 Sauvegardes Physiques ET
 Sauvegardes logiques

Les questions à se poser pour définir la stratégie sont les suivantes :


 Est-il acceptable de perdre des données ?
 si oui sur quelle période ?
Est-il possible d’arrêter périodiquement la base ?
si oui quand et pour combien de temps ?
Est-il possible de faire une sauvegarde complète de la base pendant l’arrêt de

3 celle-ci ?
Sauvegardes et Restaurations d’une Base de données oracle

Stratégie de Sauvegardes et Restaurations

S’il n’est pas possible d’arrêter la base ou de faire une sauvegarde complète, il
sera toujours possible de faire des sauvegardes partielles.
La sauvegarde diffère en fonction de la nature de la base de données
Base de petits volumes,
Base contenant des données stratégiques
Base de volumes importants.
Par exemple, pour certaines bases de données, il sera préférable de recharger
certaines tables plutôt que de les restaurer (gain de temps pour de gros
volumes).
Ne pas oublier que le tablespace est l’unité de sauvegarde. Il faudra penser au
stockage des tables dans des tablespaces dédiés (les grosses tables ou les tables

4 stratégiques) ou mutualisés (les petites tables de référence)


Sauvegardes et Restaurations d’une Base de données oracle

Stratégie de Sauvegardes et Restaurations

La restauration du fichier de données consiste à prendre la dernière sauvegarde du


fichier de données, de remplacer par cette sauvegarde le fichier manquant ou
endommagé et à appliquer sur cette sauvegarde les fichiers de Redo Log archivés.
Ceci afin de ramener le fichier de données dans l’état où il se trouvait juste avant
l’incident.
5
Sauvegardes et Restaurations d’une Base de données oracle

Stratégie de Sauvegardes et Restaurations

Les modes NOARCHIVELOG et ARCHIVELOG

 En fonction des possibilités d’arrêt et des pertes de données (acceptables),


on choisira de mettre la base de données en mode ARCHIVELOG ou non.
 En cas de passage en mode ARCHIVELOG, il faut étudier :
 Où mettre les archives (sur disque ou sur bande) ?
 Combien de jeux de sauvegarde conserve-t’on (nettoyage des
sauvegardes et des archives) ?

Affichage du mode courant : Select log_mode from v$database ;

6
Sauvegardes et Restaurations d’une Base de données oracle

Stratégie de Sauvegardes et Restaurations

Les modes NOARCHIVELOG et ARCHIVELOG

 Le mode NOARCHIVELOG

C’est le mode par défaut de Oracle

Dans ce mode:
 Un fichier de Redo Log peut être réutilisé immédiatement après qu’un
point de synchronisation (checkpoint) ait eu lieu.
 Une fois le contenu d’un fichier de RedoLog ait été écrasé par une
nouvelle écriture  les données à restaurer sont perdues.

Dans ce mode on ne peut pas faire une sauvegarde à chaud

7
Sauvegardes et Restaurations d’une Base de données oracle

Stratégie de Sauvegardes et Restaurations

Les modes NOARCHIVELOG et ARCHIVELOG

passer la base en mode NONARCHIVELOG


Le mode NONARCHIVELOG est le mode par défaut de oracle, Et si la base était dans le mode
archivelog et on veut passer au mode NONARCHIVELOG on suit les étapes suivantes:

SQL> shutdown 

SQL> startup mount

SQL> alter database noarchivelog;

SQL> alter database open;

8
Sauvegardes et Restaurations d’une Base de données oracle

Stratégie de Sauvegardes et Restaurations

Les modes NOARCHIVELOG et ARCHIVELOG

Le mode ARCHIVELOG
La synchronisation des fichiers de données est basée sur le numéro de séquence
du fichier de Redo Log

En cas de restauration, Oracle a besoin de tous les fichiers de Redo Log à


partir de celui portant le numéro de séquence inscrit dans le fichier de
données au moment de la sauvegarde. Autrement la restauration ne sera pas
possible.

Si un fichier d’archive est perdu, Oracle ne pourra pas restaurer


la base de données.
9
Sauvegardes et Restaurations d’une Base de données oracle

Stratégie de Sauvegardes et Restaurations

Les modes NOARCHIVELOG et ARCHIVELOG :

Le mode ARCHIVELOG :
 Ce mode permet de garantir qu’un groupe de fichiers de Redo Log non
archivés ne sera pas écrasé par LGWR.
 En version 9i, mettre la base en ARCHIVELOG ne démarrait pas
automatiquement le processus ARCH. Il fallait le faire en positionnant le
paramètre LOG_ARCHIVE_START à TRUE.

alter system set log_archive_start=TRUE scope=spfile;

 En cas d’oublie de positionnement de ce paramètre, cela provoquera un


crash de l’instance.

10
Sauvegardes et Restaurations d’une Base de données oracle

Stratégie de Sauvegardes et Restaurations

Les modes NOARCHIVELOG et ARCHIVELOG

Passer la base en mode ARCHIVELOG

 Avant de passer la base en mode ARCHIVELOG, arrêtez celle-ci et


effectuez une sauvegarde à froid. Ne pas oublier de sauvegarder le
fichier SPFILE.

MODE OPERATOIRE :
Arrêter la base de données : SHUTDOWN IMMEDIATE
Monter la base : STARTUP MOUNT
Passer la base en ARCHIVELOG : ALTER DATABASE ARCHIVELOG ;
Ouvrir la base : ALTER DATABASE OPEN

Après avoir passé la base en mode ARCHIVELOG, vérifiez que les archives sont
générées correctement et apparaissent à l’emplacement demandé, puis arrêtez la
base de données et faites une première sauvegarde.
11
Sauvegardes et Restaurations d’une Base de données oracle

Stratégie de Sauvegardes et Restaurations

Les modes NOARCHIVELOG et ARCHIVELOG

Passer la base en mode ARCHIVELOG

passer la base en mode ARCHIVELOG


-Create pfile from spfile ;
-alter system set LOG_ARCHIVE_DEST_1 = ‘location=f:\oracle\oradata\BORA\arch\’
scope=SPFILE ;
-alter system set LOG_ARCHIVE_FORMAT=’arch%S_%R%T.arc’ scope=SPFILE ;
-Shutdown immediate; %S : numéro de la séquence de fichiers journaux,
% T: Thread id: Le numéro de l’instance dans le cas d’un environnement
- Startup mount; Oracle RAC, sinon « 1 ».
%d : L’identifiant de la base de données ; il est utile si vous
-Alter database archivelog; stockez dans le même répertoire les fichiers de journaux
-Alter archivés de plusieurs bases de données.
database open;
%R : ID de journaux de réinitialisation qui garantit l’unicité des
noms pour les fichiers journaux archivés sur plusieurs versions
de la base de données

 ORA-19905: log_archive_format must contain %s, %t and %r


12
Sauvegardes et Restaurations d’une Base de données oracle

Stratégie de Sauvegardes et Restaurations

Les modes NOARCHIVELOG et ARCHIVELOG

Forcer l’archivage de façon périodique

En règle générale, il est conseillé d’avoir des basculements de fichiers de Redo Log
(et donc des archivages en mode ARCHIVELOG) toutes les 20 à 30 minutes.

Plus l’activité est importante, plus il y a de basculement et génération d’archivages !


Pour garantir une périodicité stable, il est possible de spécifier une valeur dans le
paramètre ARCHIVE_LAG_TARGET :

 Indique en secondes la durée maximale qui doit séparer deux archivages


 Une valeur nulle désactive la fonctionnalité (valeur par défaut)
 Valeurs autorisées : entre 60 (une minute) et 7200 (2 heures)
13
Sauvegardes et Restaurations d’une Base de données oracle

Stratégie de Sauvegardes et Restaurations

Les modes NOARCHIVELOG et ARCHIVELOG


Avantages /Inconvénients

Mode Avantages
ARCHIVELOG Vous pouvez effectuer des sauvegardes en cours d'exécution
(quand la base de données est en ligne).
Les journaux archivés et la dernière sauvegarde complète (hors
ligne ou en ligne) ou une sauvegarde antérieure permettent de
récupérer entièrement la base de données sans perte de données,
car le fichier journal enregistre toutes les modifications apportées à
la base de données.

NOARCHIVELOG Aucun espace disque supplémentaire n'est requis pour le stockage


des fichiers journaux archivés.

14
Sauvegardes et Restaurations d’une Base de données oracle

Stratégie de Sauvegardes et Restaurations

Les modes NOARCHIVELOG et ARCHIVELOG


Avantages /Inconvénients

Mode Inconvénients
ARCHIVELOG Un espace disque supplémentaire est requis pour le stockage des fichiers journaux
archivés.

L'agent permet cependant de purger les journaux sauvegardés,

ce qui libère de l'espace disque si vous en avez besoin.


NOARCHIVELOG
Si vous devez récupérer une base de données, vous pouvez restaurer uniquement la
dernière sauvegarde hors ligne complète. De ce fait, toutes les modifications apportées
à la base de données après cette sauvegarde sont perdues.

La durée des temps d'arrêt de la base de données est importante car la sauvegarde en
ligne de la base de données est impossible. Cette limitation pose un très sérieux

15 problème pour des bases de données volumineuses.


Sauvegardes et Restaurations d’une Base de données oracle

Stratégie de Sauvegardes et Restaurations

Rman (Recovery Manager )

Présentation et fonctions de RMAN

Livré en standard depuis la version 8 d'Oracle


RMAN (Recovery MANager) est un utilitaire standard de la base de données Oracle. Il
permet aux DBA de gérer les opérations de sauvegarde/restauration de manière souple
et optimisée. RMAN est le successeur de EBU (Enterprise Backup Utility). Il est codé
en Pro*C.

 Il ne nécessite pas d'installation particulière .Il offre les possibilités et les


fonctionnalités suivantes :
Réaliser des sauvegardes globales de la base, d'espaces disque logiques (tablespace), de
fichiers de données (datafiles), de fichiers de contrôle (controlfiles) et de fichiers d'archive
(archivelog).
Réaliser des sauvegardes incrémentielles (différentielles ou cumulatives) au niveau bloc
16 de données Oracle.
Sauvegardes et Restaurations d’une Base de données oracle

Stratégie de Sauvegardes et Restaurations

Rman (Recovery Manager )

Les fonctions de RMAN (suite)

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.
De paralléliser les opérations de sauvegarde/restauration afin d'accroître les performances.
De gérer les périodes de conservation des sauvegardes.
De placer les opérations de sauvegarde/restauration courantes dans le catalogue sous forme
de scripts (à la condition d'utiliser le catalogue RMAN).

17
Sauvegardes et Restaurations d’une Base de données oracle

Stratégie de Sauvegardes et Restaurations

Rman (Recovery Manager )

Les fonctions de RMAN (Suite)

De mutualiser les scripts de sauvegardes, ils ne sont pas dépendants du système
d'exploitation. RMAN dispose de son propre langage de script.
D'éditer des rapports.
De sauvegarder ou dupliquer les bases de données. Les copies n'ont qu'un intérêt limité
par rapport aux copies OS.
De vérifier les sauvegardes effectuées en termes de corruption et ne corrompt pas les
bases qu'il sauvegarde (contrairement à la copie de fichiers de données sans positionner
les tablespaces en mode backup) ce qui est un avantage non négligeable.

18
Sauvegardes et Restaurations d’une Base de données oracle

Stratégie de Sauvegardes et Restaurations

Rman (Recovery Manager )

Les différents Type de sauvegarde de RMAN

RMAN garantie donc les types de sauvegardes suivants :


 de type COMPLET (ou FULL) : on sauvegarde tous les blocs
 de type DIFFERENTIEL : on sauvegarde uniquement les blocs modifiés depuis la
précédente sauvegarde de niveau n ou inférieur ( selon le niveau voir les 2 slides
qui suivent) )
 de type CUMULATIF : on sauvegarde uniquement les blocs modifiés depuis la
précédente sauvegarde de niveau n-1

19
Sauvegardes et Restaurations d’une Base de données oracle

Stratégie de Sauvegardes et Restaurations

Rman (Recovery Manager )

Les différents Type de sauvegarde de RMAN

Les sauvegardes différentielles et cumulatives sont dites incrémentielles en opposition aux


sauvegardes complètes.
RMAN gère 3 niveaux de sauvegardes incrémentielles ( ou différentielles) :
• Niveau 0 : Base de tous les autres niveaux (Sauvegarde de l'ensemble des blocs contenant des
données)
• Niveau 1 : Sauvegarde tous les blocs qui ont changé depuis la plus récente sauvegarde
incrémentielle de niveau 0
• Niveau 2 : sauvegarde tous les blocs qui ont changé depuis la plus récente sauvegarde
incrémentielle de niveau 0, 1 ou 2.

20
Sauvegardes et Restaurations d’une Base de données oracle

Stratégie de Sauvegardes et Restaurations

Rman (Recovery Manager )

Les différents Type de sauvegarde de RMAN

21
Sauvegardes et Restaurations d’une Base de données oracle

Stratégie de Sauvegardes et Restaurations

Rman (Recovery Manager )

Les différents Type de sauvegarde de RMAN

22
Sauvegardes et Restaurations d’une Base de données oracle

Stratégie de Sauvegardes et Restaurations

Rman (Recovery Manager )

Lancement de programme de RMAN (Connexions)

La connexion à un catalogue se fait comme suit :


$ rman catalog rman_user/xxxx[@DB]
ou
RMAN> connect catalog rman_user/xxxx[DB];

La connexion à une base cible se fait comme suit :


$ rman target sys/mdp@baseCible
ou à partir des commande se Systeme d’expointion ( Dos pour windows, invite de commande pour
Unix, linux..)
Set oracle_sid=baseCible
rman target /
Ou bien

23 RMAN> connect target sys/mdp@baseCible


Sauvegardes et Restaurations d’une Base de données oracle

Stratégie de Sauvegardes et Restaurations

Rman (Recovery Manager )

Commandes courantes de RMAN

 Gestion des sauvegardes


 Lister les sauvegardes disponibles Sauvegardes de la base complète :
RMAN> list backup;

 Lister les sauvegardes d'un fichier particulier :


RMAN> list backup of datafile 'chemin_datafile';

 Lister les Sauvegardes d'un tablespace particulier :


RMAN> list backup of tablespace TBS_NAME;

24
Sauvegardes et Restaurations d’une Base de données oracle

Stratégie de Sauvegardes et Restaurations

Rman (Recovery Manager )

Commandes courantes de RMAN (suite)

Gérer les sauvegardes

 Lister les fichiers pour lesquels il manque des sauvegardes si on veut répondre à la
politique de sauvegarde définie (durée de rétention, nombre de sauvegardes...)
RMAN> report need backup;

 Lister les sauvegardes obsolètes (en dehors de la fenêtre de sauvegarde définie)


RMAN> report obsolete;

 Vérifier les sauvegardes effectuées par RMAN et encore physiquement présentes


dans la zone de sauvegarde :
RMAN> crosscheck backup;

Supprimer les sauvegardes obsolètes :


RMAN> delete obsolete;
25
Sauvegardes et Restaurations d’une Base de données oracle

Stratégie de Sauvegardes et Restaurations

Rman (Recovery Manager )

La sauvegarde

Sauvegarder la totalité d’une base


RMAN> BACKUP DATABASE PLUS ARCHIVELOG;
Cette commande sauvegarde la base de données ainsi que les fichiers d’archive (REDOLOG
journalisés).
Si le mode CONTROLFILE AUTOBACKUP est réglé sur ON, une copie du fichier de contrôle
ainsi que du spfile sera effectuée aprés la sauvegarde.

Sauvegarder des tablespaces

RMAN> BACKUP TABLESPACE system, users, tools, undotbs;

Cette commande va sauvegarder les tablespaces SYSTEM, USERS, TOOLS et UNDOTBS

26
Sauvegardes et Restaurations d’une Base de données oracle

Stratégie de Sauvegardes et Restaurations

Rman (Recovery Manager )

La sauvegarde

Sauvegarder un fichier de données

RMAN> BACKUP DATAFILE '?/oradata/trgt/users01.dbf',  ?/oradata/trgt/tools01.dbf';

Cette commande va sauvegarder les fichiers de données $ORACLE_HOME/oradata/trgt/users01.dbf et


$ORACLE_HOME/oradata/trgt/tools01.dbf.

On peut également stipulé le numéro d’id du datafile à sauvegarder. Cette information peut
s’obtenir avec la requête suivante : SQL> select file_id,file_name from dba_data_files ;
FILE_ID FILE_NAME
-------- -------------------------------------------------
      3 /u02/oradata/mgmt/users01.dbf
      2 /u02/oradata/mgmt/undotbs01.dbf
      1 /u02/oradata/mgmt/system01.dbf
      4 /u02/oradata/mgmt/example01.dbf
  La commande suivante sauvegardera donc le fichier "/u02/oradata/mgmt/example01.dbf" :

27 RMAN> BACKUP DATAFILE 4;


Sauvegardes et Restaurations d’une Base de données oracle

Stratégie de Sauvegardes et Restaurations

Rman (Recovery Manager )

La sauvegarde

Sauvegarder le fichier de contrôle

Cette commande va sauvegarder le fichier de contrôle courant

RMAN> BACKUP CURRENT CONTROLFILE ;

. Cependant, si on est en mode autobackup ON, une copie du fichier sera effectuée à
chaque fin de sauvegarde.

28
Sauvegardes et Restaurations d’une Base de données oracle

Stratégie de Sauvegardes et Restaurations

Rman (Recovery Manager )

La sauvegarde

Sauvegarder les journaux de transactions (redo-log)

Attention : on ne sauvegarde JAMAIS les REDO-LOG courant avec RMAN


Cependant, l’utilisation de RMAN nécessite que la base cible archive ses redo-log (mode
ARCHIVELOG). On peut donc aisément sauvegardé tout ou partie des redo-log archivés.
La commande suivante va sauvegarder l’ensemble des journaux de transactions archivés.

RMAN> BACKUP ARCHIVELOG ALL;

•La commande ci-dessous va sauvegarder les journaux de transactions archivés du mois écoulé.

RMAN> BACKUP ARCHIVELOG TIME BETWEEN 'SYSDATE-31' AND


'SYSDATE';

29
Sauvegardes et Restaurations d’une Base de données oracle

Stratégie de Sauvegardes et Restaurations

Rman (Recovery Manager )

La sauvegarde

Autres paramètres de la sauvegarde

Paramètre Exemple Explication du fonctionnement


Spécifie une localisation et un nom unique (%U)
FORMAT FORMAT ‘/tmp/%U’
pour les pièces de sauvegardes
Limite le nombre de fichiers de données ou de
FILESPERSET FILESPERSET 20
log archivés par jeu de sauvegarde
Spécifie la taille maximum d’un jeu de
MAXSETSIZE MAXSETSIZE 5G
sauvegarde
Spécifie le nombre de copies de chaque jeu de
COPIES COPIES 2
sauvegarde
Spécifie une étiquette pour la sauvegarde. Par
TAG TAG ‘backup_du_lundi’
défaut RMAN, génère cette étiquette

30
Sauvegardes et Restaurations d’une Base de données oracle

Stratégie de Sauvegardes et Restaurations

Rman (Recovery Manager )

La sauvegarde

Exemple:

RMAN> BACKUP TABLESPACE tools, indx, undotbs FORMAT '?/oradata/%U';

? = Repertoire

31
Sauvegardes et Restaurations d’une Base de données oracle

Stratégie de Sauvegardes et Restaurations

Rman (Recovery Manager )

La sauvegarde

Sauvegarde incrémentale

Lors d’un backup incrémental, on doit toujours spécifier le niveau 0 qui correspond à une
sauvegarde complète de la base.

RMAN> BACKUP INCREMENTAL LEVEL 0 DATABASE;

Ensuite, on peut créer des sauvegardes à un niveau plus élevé.

RMAN> BACKUP INCREMENTAL LEVEL 1 CUMULATIVE DATABASE;

Dans notre exemple, seuls les blocs ayant été modifiés depuis la sauvegarde de niveau 0
seront sauvegardés.
32
Sauvegardes et Restaurations d’une Base de données oracle

Stratégie de Sauvegardes et Restaurations

Rman (Recovery Manager ) La sauvegarde

Valider ses sauvegardes

On peut tester le fonctionnement d’une sauvegarde sans générer de sortie avec l’option
VALIDATE.

Par exemple :

RMAN> BACKUP VALIDATE DATABASE ARCHIVELOG ALL;


RMAN> BACKUP VALIDATE TABLESPACE tools;

Cette approche va tester que la sauvegarde se fera sans problème.


Cependant, une fois une sauvegarde effectuée on peut tester que la restauration se fera
sans encombre.
La commande à exécuter est donc la suivante :

RMAN> RESTORE DATABASE VALIDATE;


33
Sauvegardes et Restaurations d’une Base de données oracle

Stratégie de Sauvegardes et Restaurations

Rman (Recovery Manager ) La sauvegarde

Copie d’un fichier

L’outil RMAN permet également de réaliser des copies de fichiers. Ces copies sont
équivalentes à des copies de fichiers OS. Cela peut s’avérer nécessaire lorsque
l’on désire réaliser des restaurations « user-managed ».( Restauration par des
commndes OS Sans avoir recours à Rman )

RMAN> COPY CURRENT CONTROLFILE TO


'/save/mgmt_rman/cf_testcopie.ctl';
RMAN> COPY DATAFILE 1 TO '/save/mgmt_rman/dbf1_bkp.dbf'
34
Sauvegardes et Restaurations d’une Base de données oracle

Stratégie de Sauvegardes et Restaurations

Rman (Recovery Manager ) La Resstauration

Restauration complète
La restauration complète d’une base de données s’effectue de la manière suivante :

RMAN> STARTUP FORCE NOMOUNT;


RMAN> RETORE CONTROLFILE from ‘ fichier_de_controle_sauvgardé’
RMAN> ALTER DATABASE MOUNT
RMAN> RESTORE DATABASE;
RMAN> RECOVER DATABASE;
RMAN> ALTER DATABASE OPEN [RESETLOGS];

Notons que pour effectuer cette opération la base doit être en mode MOUNT (montée).
NB : l’option FORCE va réaliser la combinaison SHUTDOWN ABORT / STARTUP..

35
Sauvegardes et Restaurations d’une Base de données oracle

Stratégie de Sauvegardes et Restaurations

Rman (Recovery Manager ) La Resstauration

Restauration incomplète:
Généralement, ce type de restauration s’effectue dans les cas suivants :
 Un ou tous les redo-log en lignes ont été détruits. 
Une perte de données : un utilisateur qui a réalisé un DROP TABLE (par exemple) et on ne dispose pas d’un
export assez récent. 
Impossibilité d’effectuer une restauration complète par absence d’un ou de plusieurs fichier de logs archivés. 
  .
La restauration incomplète se fera en mode point-in-time. Dans ce cas, on doit savoir exactement à quelle date
était le dernier état stable de la base et savoir également que toute sauvegarde de ce type entraînera une perte
de données :
Pour se faire, il faut exécuter les commandes suivantes :

RMAN> RUN {
2> SET UNTIL TIME = ‘2022-12-09 11:00:00';
3> RESTORE DATABASE;
4> RECOVER DATABASE;
5> ALTER DATABASE OPEN RESETLOGS;
}
Notons que le format de date doit correspondre aux variables d’environnement systèmes NLS_LANG et surtout
NLS_DATE_FORMAT.

36
Sauvegardes et Restaurations d’une Base de données oracle

Stratégie de Sauvegardes et Restaurations

Rman (Recovery Manager )

La Resstauration

Réstaurer Un tablespace
La restauration d’un tablespace peut se faire en ligne, avec les commandes suivantes :

RMAN> RUN {
2> SQL 'ALTER TABLESPACE users OFFLINE';
3> RECOVER TABLESPACE users;
4> SQL 'ALTER TABLESPACE users ONLINE';
}

Dans un tel cas, les fichiers seront restaurés au même endroit que le précédent. Si on veut
modifier cet endroit, il suffit d’exécuter les commandes suivantes (répéter la ligne 2 en
fonction du nombre de fichiers contenus par le tablespace) :

RMAN> SQL 'ALTER TABLESPACE users OFFLINE';


RMAN> SET NEWNAME FOR DATAFILE 8 TO '/nouveau_rep/mon_nouveau_nomDeFichier.dbf';
RMAN> RESTORE TABLESPACE users;
RMAN> SWITCH DATAFILE ALL;
37 RMAN> RECOVER TABLESPACE users;
RMAN> SQL 'ALTER TABLESPACE users ONLINE';
Sauvegardes et Restaurations d’une Base de données oracle

Stratégie de Sauvegardes et Restaurations

Rman (Recovery Manager )

La Resstauration

Restaurer Un fichier de données:

RMAN offre la possibilité de restaurer un fichier de données. Cette opération est similaire à la
restauration d’un tablespace. L’obtention de l’identifiant du fichier se fait par la requête SQL
suivante :

SQL> SELECT tablespace_name,file_id,file_name  FROM   dba_data_files;


TABLESPACE_NAME FILE_ID FILE_NAME
--------------- ------- ------------------------
SYSTEM             1 /u02/mgmt/system01.dbf
UNDOTBS1         2 /u02/mgmt/undotbs01.dbf
CWMLITE             3 /u02/mgmt/cwmlite01.dbf
DRSYS                 4 /u02/mgmt/drsys01.dbf
EXAMPLE           5 /u02/mgmt/example01.dbf
INDX                   6 /u02/mgmt/indx01.dbf
ODM                   7 /u02/mgmt/odm01.dbf
TOOLS                 8 /u02/mgmt/tools01.dbf
USERS                 9 /u02/mgmt/users01.dbf
XDB                   10 /u02/mgmt/xdb01.dbf
RMAN_TS             11 /u02/mgmt/rman_ts01.dbf
38 11 ligne(s) sélectionnée(s).
Sauvegardes et Restaurations d’une Base de données oracle

Stratégie de Sauvegardes et Restaurations

Rman (Recovery Manager ) La Resstauration


La restauration du fichier 9 à l’endroit indiqué par cette requête se fera par les commandes:

RMAN> SQL 'ALTER DATABASE DATAFILE 9 OFFLINE';


RMAN> RESTORE DATAFILE 9;
RMAN> RECOVER DATAFILE 9;
RMAN> SQL 'ALTER DATABASE DATAFILE 9 ONLINE';

Si on avait voulu restaurer le fichier à l’endroit suivant /u03/restore, nous aurions du exécuter
les commandes suivantes :

RMAN> SQL 'ALTER DATABASE DATAFILE 9 OFFLINE';


RMAN> SET NEWNAME FOR DATAFILE 9 TO '/u03/restore/users01.dbf';
RMAN> RESTORE DATAFILE 9;
RMAN> SWITCH DATAFILE ALL;
RMAN> RECOVER DATAFILE 9;
RMAN> SQL 'ALTER DATABASE DATAFILE 9 ONLINE';

NB : Attention a la validité du fichier (si l’entête du fichier de contrôle courant correspond
aux fichiers à restaurer, alors aucune restauration ne sera effectuée).

39
Sauvegardes et Restaurations d’une Base de données oracle

Stratégie de Sauvegardes et Restaurations

Rman (Recovery Manager )

La Resstauration

 Vues du dictionnaire de données


 Plusieurs vues du dictionnaire permettent d’obtenir des informations sur
l’archivage :
V$DATABASE : mode de fonctionnement de la base (colonne LOG_MODE)
V$INSTANCE : statut du processus ARCH (colonne ARCHIVER)
V$LOG : statut des groupes vis à vis de l’archivage (colonne
ARCHIVED)
V$ARCHIVED_LOG : informations sur les fichiers de Redo Log archivés
V$ARCHIVED_DEST : informations sur les destinations d’archivage

40
Sauvegardes et Restaurations d’une Base de données oracle

Stratégie de Sauvegardes et Restaurations

Rman (Recovery Manager )

La Resstauration

 V$ARCHIVED_LOG
RECID Identifiant de l’enregistrement
NAME Chemin complet de l’archive
SEQUENCE# Numéro de séquence du fichier de Redo Log correspondant
FIRST_CHANGE# Plus petit numéro de SCN (numéro de transaction) écrit dans l’archive
FIRST_TIME Date et heure du plus petit numéro de SCN
NEXT_CHANGE# Plus grand numéro SCN écrit dans l’archive
NEXT_TIME Date et heure du plus grand numéro de SCN
COMPLETION_TIME Date et heure de l’archivage
 V$ARCHIVED_DEST
DEST_NAME Nom de la destination
DESTINATION Chemin complet de la destination
STATUS Statut de la destination (VALID, ERROR, …)
ERROR Message d’erreur (en cas d’erreur)

41
Sauvegardes et Restaurations d’une Base de données oracle

Stratégie de Sauvegardes et Restaurations

Rman (Recovery Manager )

Exemples de Backup, restauration

 Exemple1 : tablespace endommagé ( Cas de TBS users)


1- mettre la tablespace users offline :
alter tablespace users offline;
2- faire un backup de tablespace users :
BACKUP TABLESPACE users;
2- Modifier le nom de fichier DBF correspondant ( pour simuler l’endommage du
fichier)
3- mettre tablespace users online (impossible)
RMAN> RESTORE TABLESPACE users;
RMAN> RECOVER TABLESPACE users;
4- SQL >ALTER TABLESPACE users ONLINE;
5- Verifier le nom de fichier DBF correspondant : est ce qu il est bien rétablie

backup archivelog all delete input;


42 delete obsolete;
Sauvegardes et Restaurations d’une Base de données oracle

Stratégie de Sauvegardes et Restaurations

Rman (Recovery Manager )

Exemples de Backup, restauration (suite)

 Exemple2 : datafile endommagé


1- Consulter les vues dba_extents, dba_data_files, pour choisir un fichier de donné et la table
correspondant pour faire le test
Supposons que la table est SYSTEM.TESTLOCAL et le ficher est ‘D:\GG1.DBF’
2-si la base n’est en mode archivelog redemarer là en mode mount
3- BACKUP DATAFILE ‘D:\GG1.DBF’
4- Modifier ou déplacer le fichier ‘D:\GG1.DBF’ ( pour simuler la perte de données)
5- SQL>alter database datafile 11 OFFLINE [drop]; (11 num de datafile)
6- RMAN>alter database open et faite un select sur la table SYSTEM.TESTLOCAL
Vous aurez une erreur : ORA-00376: fichier 11 ne peut être lu à cette heure
ORA-01110: fichier de donnÚes 11 : 'D:\GG1.DBF'
7- Essayons de restaurer le fichier
RMAN> RESTORE DATAFILE 11;
RMAN> RECOVER DATAFILE 11;
RMAN> SQL 'ALTER DATABASE DATAFILE 11 ONLINE';
8- faite un select sur la table et verifier aussi l’existance du fichier 'D:\GG1.DBF'

43
Sauvegardes et Restaurations d’une Base de données oracle

Stratégie de Sauvegardes et Restaurations

Rman (Recovery Manager )

Exemples de Backup, restauration (suite)

Exemple3 : perte de tout les fichier de contrôle

Si tous les fichiers de contrôle ont été perdus : s'assurer que l'instance est bien arrêtée
(SHUTDOWN ABORT si ce n'est pas le cas, car un IMMEDIATE ne marchera pas). Puis,
procéder comme suit :
RMAN> startup force mount;
RMAN> restore controlfile from autobackup;
RMAN> alter database open;
Rq : cette manipulation suppose que les fichiers de contrôle étaient en mode AUTOBACKUP
dans RMAN.
Si ce n'est pas le cas, faire appel à tout les DBA  il y a un grand travail à faire

44

Vous aimerez peut-être aussi