Conception Et Réalisation (Oracle) by Grare Stéphane - HTML preview

PLEASE NOTE: This is an HTML preview only and some elements such as links or page numbers may be incorrect.
Download the book in PDF, ePub, Kindle for a complete version.

Les principaux types de sauvegarde

La sauvegarde de base de données complète copie tous les objets, tables système, données

et les lignes du journal des transactions nécessaires à la restauration dans l’état ou la base se

trouve en fin de sauvegarde. Elle sert de point de référence lors d’une défaillance du système.

La sauvegarde différentielle est conçue pour réduire la durée de restauration d’une base de

données fréquemment modifiée. Seules les données modifiées depuis la dernière sauvegarde

complète de la base de données et les lignes du journal des transactions nécessaires à la

restauration sont sauvegardées. Attention :

· Une sauvegarde différentielle requiert une sauvegarde de base de données complète.

· Lors d’une succession de modifications sur une même ligne de données, seule la dernière est

sauvegardée dans la sauvegarde différentielle ;

La sauvegarde du journal des transactions est effectuée pour enregistrer toutes les

modifications apportées à la base de données ; La sauvegarde stocke les modifications

intervenues depuis la dernière sauvegarde de ce journal, puis le vide par défaut de toutes les

transactions confirmées ou annulées(tronquer).

La sauvegarde d’un fichier ou groupe de fichiers est intéressante dans le cas de base de

données volumineuse : elle permet de sauvegarder la base en plusieurs opérations, tout en

gardant leur cohérence en sauvegardant aussi le journal des transactions.

Différentes stratégies de sauvegarde

Sauvegarde complète de base de données : La base de données est petite, sa durée de

sauvegarde est de l’ordre de quelques minutes ; elle est très peu modifiée, et le risque de

perdre une journée de modifications est acceptable. Une sauvegarde complète de base de

données est effectuée tous les jours à 18 heures.

En cas de dommage sur la base mercredi à 13h, la sauvegarde complète de mardi 18h sera

restaurée : Toutes les modifications effectuées entre mardi 18h et mercredi 13h seront

perdues.

Sauvegarde complète de base de données et sauvegarde du journal des

transactions : Les modifications apportées à la base sont plus fréquentes que dans le cas

83

index-84_1.jpg

index-84_2.jpg

précédent, le journal des transactions est stocké sur une unité physique différente de celle de

la base de données. Une sauvegarde complète de base de données est effectuée tous les

jours à 18 heures, le journal des transactions est sauvegardé tous les jours à 9h, 12h et 15h.

En cas de dommage sur la base mardi à 13h, la sauvegarde complète de lundi 18h sera

restaurée puis les journaux successifs seront appliqués. Si le journal des transactions en cours

peut être sauvegardé avant la restauration, la perte de données est minimum, sinon la perte

de données ne concernera que les modifications apportées sur la base entre 12h et 13h.

Sauvegarde différentielle : Cette stratégie sera appliquée pour réduire la durée de

restauration de la base de données endommagée : plutôt que d’appliquer plusieurs journaux

de transactions volumineux, une sauvegarde différentielle sera effectuée pour appliquer les

modifications apportées à la base depuis la dernière sauvegarde complète. Une sauvegarde

complète de la base est effectuée une fois par semaine, le dimanche à 18h ; Le journal des

transactions est sauvegardé tous les jours ouvrés à 9h, 12h et 15h ; Une sauvegarde

différentielle est effectuée chaque jour ouvré à 18h.

En cas de dommage sur la base mardi à 13h, sauvegardez si possible, le journal des

transactions en cours. Restaurez la sauvegarde complète de dimanche 18h, la sauvegarde

différentielle de lundi 18h, et les journaux de transaction de mardi 9h et 12h. Si le journal des

transactions en cours a pu être sauvegardé avant la restauration, la perte de données est

minimum, sinon le perte de données ne concernera que les modifications apportées sur la

base entre 12h et 13h, avec moins de manipulation de journaux.

Sauvegarde de fichiers ou de groupe de fichiers de base de données : Cette stratégie

sera appliquée pour des bases de données très volumineuses partitionnées sur plusieurs

fichiers, dans le but de gagner du temps de sauvegarde (éclatement d’une sauvegarde de

3heures pendant 1 heure par jour). Une sauvegarde complète de la base, répartie sur les

84

index-85_1.jpg

fichiers 1 2 et 3 est effectuée une fois par semaine, le dimanche à 18h ; Le fichier 1 est

sauvegardé lundi à 18h, le fichier 2 mardi à 18h, le fichier 3 mercredi à 18h ; Le journal des

transactions est sauvegardé à 9h, 12h et 15h tous les jours.

En cas de dommage sur le support du fichier 2 jeudi à 13h, sauvegardez si possible, le journal

des transactions en cours. Restaurez la sauvegarde du fichier 2 créée mardi 18h et appliquez

tous les journaux de transaction créés depuis mardi 18h. Le gain de performance réalisé vient

de ce que seules les transactions concernant le fichier 2 sont appliquées.

Définition des stratégies de sauvegarde sous Oracle

Une sauvegarde peut être cohérente ou incohérente. Une sauvegarde cohérente est une

sauvegarde de la totalité de la base de données après un arrêt normal de la base de données,

c’est une sauvegarde « Base de données fermée », les données sont synchrones. Après la

restauration de la base de données suite à une sauvegarde « cohérente », celle-ci peut être

utilisée immédiatement sans application de la journalisation. Ce mode de sauvegarde est le

seul à fonctionner avec le mode NOARCHIVELOG de la base de données Oracle.

Une sauvegarde incohérente est une sauvegarde effectuée alors que la base de données est

ouverte et que les activités de mise à jour se poursuivent pendant la sauvegarde, c’est une

sauvegarde « Base de données ouverte », les données ne sont pas synchrones du point de

vue des modifications enregistrées. Après la restauration de la base de données suite à une

sauvegarde « incohérente », il faut appliquer les fichiers de journalisation pour rendre la base

de données cohérente. Ce mode de sauvegarde ne fonctionne qu’avec le mode ARCHIVELOG

de la base de données Oracle.

NB : Comment savoir si la base de données est en ARCHIVLOG ou non

· Par la commande SQL connectée en tant que SYSDBA

SQL> ARCHIVE LOG LIST

85

index-86_1.png

index-86_2.png

index-86_3.png

Il faut être connecté en tant que SYSDBA, sous peine d'obtenir l'erreur suivante :

Ou par la requête :

Select name, log_mode from v$database

Avec v$database : vue sur le mode fonctionnement de la base de données (paramètrage)

86

index-87_1.png

index-87_2.png

Une sauvegarde peut être complète, partielle ou incrémentale.

· Une sauvegarde complète est une sauvegarde de la totalité de la base de données.

· Une sauvegarde partielle est une sauvegarde incluant uniquement une partie de la base de

données.

· Une sauvegarde incrémentale est une sauvegarde qui ne contient que les blocs modifiés

depuis la dernière sauvegarde. Une sauvegarde incrémentale peut être complète ou partielle.

Comment activer l'archivage dans Oracle ?

1. Il faut tout d'abord arrêter la base :

Sql> SHUTDOWN

2. Il faut ensuite sauvegarder la base : en effet, avant de faire des modifications majeures

dans la base, il faut toujours la sauvegarder pour se protéger pour des raisons de sécurité.

3. Éditer le fichier d'initialisation pour ajouter les paramètres qui spécifient la destination des

archives.

4. Démarrer la base en mode mount sans l'ouvrir :

sql> STARTUP MOUNT

87

index-88_1.jpg

index-88_2.jpg

5. Modifier le mode d'archivage et ouvrir la base.

sql> ALTER DATABASE ARCHIVELOG;

sql> ALTER DATABASE OPEN;

Le changement du mode d'archivage mettra à jour le fichier de contrôle et rendra les

anciennes sauvegardes inutilisables.

6. Arrêter la base :

sql> SHUTDOWN IMMEDIATE

7. Sauvegarde la base : À partir de la version 10g, il n'est pas nécessaire de renseigner le

paramètre d'initialisation :

LOG_ARCHIVE_START = TRUE

8. Démarrer la base

STARTUP

88

index-89_1.jpg

Sauvegardes / restauration avec Oracle 11G

Pour effectuer des sauvegardes/restaurations d’une base de données Oracle, il existe

plusieurs possibilités, dont :

· Utiliser l’outil Recovery Manager (RMAN) fourni avec Oracle : c’est la méthode

recommandée par Oracle.

· Utiliser les utilitaires de sauvegarde/restauration EXP/IMP

· Procéder avec des commandes système du système d’exploitation des scripts SQL.

Sauvegarde / restauration des bases de données avec l’outil Recovery