Académique Documents
Professionnel Documents
Culture Documents
RESTAURATION DE
LA BASE DE DONNEES ORACLE
Essalmani Yasmine
Sarah Aggour
Kenza Belhaj Soulami
Meryem Ait Ouakrim
LA SAUVEGARDE
ROLE DU DBA
CATEGORIES DE PANNES
1 Echec d'instruction
3 Panne de réseau
4 Erreur utilisateur
5 Echec support
6 Echec de l'instance
ECHEC D'INSTRUCTION
Le premier niveau de fixation sera automatique : Chaque fois qu'une instruction échoue, le
processus serveur qui exécute l'instruction détectera le problème et annulera l'instruction.
Une cause courante d'échec d'instruction est une donnée non valide, généralement un
format ou une contrainte violation.
Une deuxième classe d'échecs d'instructions non liés à DBA est constituée d'erreurs logiques
dans l'application : du code qui, dans certaines circonstances, est impossible pour la base de
données à exécuter.
Les problèmes de gestion de l'espace sont fréquents, mais ils ne devraient jamais se
produire.
ECHEC DU PROCESSUS
UTILISATEUR
PANNE RESEAU
Configuration de
plusieurs listners, chacun
Panne de listner
sur une combinaison
adresse/port différente
ERREURS UTILISATEUR
La requête Flashback implique l'exécution d'une requête sur une version de la base de
données au quelque temps dans le passé. La version cohérente en lecture de la base de
données est construite, par votre session uniquement, grâce à l'utilisation de données
d'annulation.
Si un flashback est effectué de toute la base de données, vous perdrez tout le travail
précédemment effectué après l'heure à laquelle la base de données a été renvoyée, et pas
seulement la mauvaise transaction.
ECHEC DU SUPPORT
Archivelog sont initialement créés sur disque et, en raison des risques liés à l'utilisation du
stockage sur disque, tout comme le fichier de contrôle et les fichiers en ligne de
journalisation, doivent être multiplexés : deux ou plus copies sur différents appareils.
Ainsi, pour vous protéger contre les pannes de support, vous devez disposer de copies
multiplexées du controlfile, les fichiers de journalisation en ligne et les fichiers de
journalisation d'archivage.
Ne pas sauvegarder les redo logs — ils sont, en effet, sauvegardés lorsqu'ils sont copiés dans
les archive log.
Les fichiers de données ne peuvent pas être protégés par multiplexage ; ils doivent être
protégés par du matériel : redondance - soit des systèmes RAID conventionnels, soit le
propre système de stockage automatique d'Oracle Gestion (ASM).
ECHEC INSTANCE
Arrêt ou au
Problèmes
Coupure de redémarrage du
matériels
courant machine serveur
critiques
Après un échec d'instance, la base de données peut manquer des transactions validées
et stocker les transactions non validées.
Cette situation se produit car les processus serveur fonctionnent en mémoire : ils mettent à
jour des blocs de données et annulent des segments dans le cache du tampon de la base de
données, et non sur le disque. DBWn écrit ensuite les blocs modifiés dans les fichiers de
données.
RECUPERATION INSTANCE
Si la base de données est corrompue, c'est-à-dire qu'il contient des données non validées ou
qu'il manque des données validées, Oracle détecte l'incohérence et effectue une récupération
d'instance pour supprimer les corruptions.
Il rétablira toutes les transactions validées qui n'ont pas été enregistrées dans les fichiers de
données à moment du plantage et annuler toutes les transactions non validées qui avaient été
écrites aux fichiers de données.
Utiliser le contenu des fichiers journaux en ligne pour reconstruire la base de données cache de
tampons à l'état dans lequel il se trouvait avant le crash.
RECUPERATION INSTANCE
1 2 3
STARTUP Récupération Base de donnée
d'instance peut être ouverte
ROLL FORWARD mais toujours
corrompue
4
Réstauration des
transactions non
validées
PRÉPARATION DE LA BASE DE
DONNÉES POUR LA
RÉCUPÉRABILITÉ
1 2 3 4
Fichiers de Online Redo-log Mode archive-log Fichiers journaux
contrôle d'archivage
1
Fichiers de
contrôle
Le fichier de contrôle est petit mais vital. Il est utilisé pour monter la base de données, et tandis
que la base de données est ouverte, le fichier de contrôle est continuellement lu et écrit.
Avoir au moins deux copies du fichier de contrôle, sur des supports physiques différents.
Oracle s'assure que toutes les copies du fichier de contrôle sont identiques, il suffit donc de
copier un fichier de contrôle survivant sur le fichier endommagé ou manque un.
Mais les dommages causés à un fichier de contrôle entraînent des temps d'arrêt. L'instant où
Oracle détecte qu'un fichier de contrôle est endommagé ou manquant, l'instance se terminera
immédiatement en cas d'échec de l'instance.
2
Online Redo-log
Une base de données Oracle nécessite au moins deux groupes de fichiers journaux en ligne
pour fonction, afin qu'il puisse basculer entre eux.
Chaque groupe est composé d'un ou plusieurs membres, qui sont les fichiers physiques. Un seul
membre par groupe est requis pour Oracle pour fonctionner, mais au moins deux membres par
groupe sont nécessaires pour la sécurité.
La seule chose qu'un DBA n'est pas autorisé à faire est de perdre toutes les copies du
groupe de fichiers journaux en ligne. Si cela se produit, vous perdrez des données.
3
Mode archive-log
Les fichiers de journalisation en ligne sont écrasés lorsque les changements de journal se produisent ; le passage à
le mode archivelog garantit qu'aucun groupe de fichiers de journalisation en ligne n'est écrasé à moins qu'il n'ait
a d'abord été copié en tant que fichier journal d'archivage. Ainsi, il y aura une série de fichiers journaux d'archives
qui représentent un historique complet de toutes les modifications jamais appliquées à la base de données. Si un fichier
de données est endommagé à tout moment, il sera alors possible de restaurer une sauvegarde du fichier de données et
appliquez les modifications du flux de rétablissement du journal d'archivage pour le mettre à jour.
Par défaut, une base de données est créée en mode noarchivelog ; cela signifie qu'en ligne
les fichiers de journalisation sont écrasés par les commutateurs de journalisation sans qu'aucune copie ne soit effectuée
au préalable. Il est encore
impossible de corrompre la base de données, mais des données pourraient être perdues si les fichiers de données sont
endommagés
par défaillance des médias. Une fois la base de données passée en mode archivelog, il est impossible
perdre des données également, à condition que tous les fichiers journaux d'archivage générés depuis la dernière
sauvegarde sont disponibles.
Une sauvegarde est une copie de vos données qui peut être utilisée pour
reconstruire le contenu de votre base de données originale.
Logique Physique
MODES DE
SAUVEGARDE
sauvegarde a chaud
sauvegarde a froid
sauvegarde RMAN
Hot backup
Sauvegarde incohérente
Sauvegarde pendant que la base de données est opérationnelle
Aucun temps d'arrêt requis
La base de données doit être en mode journal d'archivage pour effectuer une sauvegarde à
chaud
Nous devons sauvegarder tous les journaux d'archivage à partir du moment de la sauvegarde
pour récupérer la base de données
Avantages:
*il minimise les temps d'arrêt au quotidien, ce qui est particulièrement utile pour les systèmes qui
nécessitent un fonctionnement 24h/24 et 7j/7.
Inconvénient :
*Le problème avec les sauvegardes à chaud est que si les données sont modifiées pendant la
sauvegarde, il peut y avoir des incohérences, telles que l'état précédent du fichier inclus dans la
sauvegarde plutôt que le dernier.
* Les sauvegardes à chaud consomment également des ressources informatiques, de sorte que les
performances de la machine et du serveur peuvent être affectées pendant les sauvegardes.
Exécution d'une sauvegarde à chaud :
lInconvénients
*pendant ce temps, aucun utilisateur ne peut accéder au système.
*La récupération après un sinistre avec des sauvegardes à froid peut également prendre plus de
temps, car le déplacement des données du site de sauvegarde à froid peut entraîner des retards.
Exécution d'une sauvegarde à froid :
1 Datafiles
2 Controlfile
4 SPFILE
base
RMAN gère trois niveaux de sauvegardes incrémentielles :
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.
Differentielle
Cumilative
Terminologie
Base de données cible : on appelle base de données cible 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.
BackupPiece : c'est une entité physique contenant un ou plusieurs fichiers de données. Un fichier
peut très bien être sur plusieurs backup pieces. Leur nombre et leur taille dépendent du paramètre
maxpiecesize.
BackupSet : c'est une entité logique contenant un ou plusieurs backup pieces. Il est impossible d'avoir
un fichier sur plusieurs backup sets (librairies). Il est impossible de mixer dans une même librairie des
fichiers de contrôle et des fichiers d'archive.
Principe de stockage des sauvegardes :
SYSDBA
SYSOPER
SYSBACKUP
Mode d'accès RMAN
RMAN peut envoyer des sauvegardes sur bande à l'aide d'un media manager (MM) tel que
arcserve, backupexec ou time navigator par exemple. Le MM est un outil de sauvegarde
externe
Il comprend:
MML : une simple bibliothèque qui interprète les requêtes issues de RMAN et qui les traduit
en requêtes compréhensibles pour le MM client
MM Client: partie du logiciel qui fait la connexion avec le MM serve
MMServeur
MISE EN OEUVRE DE RMAN
Préparation de l'environnement OS
Tablespace Created
User created.
Grant succeeded.
1-Création du catalogue
Le script donné ci-dessous est donné à titre d'exemple et permet de faire une sauvegarde FULL d'une
base en mode ARCHIVELOG sur disque.
RESTAURATION
PLAN
NAME LOG_MODE
--------- -----------
BD0 NOARCHIVELOG
SQL> ¦
SQL>
La commande alter database open peut ne pas
s'exécuter si vous êtes sous Oracle 9i, pour ce faire,
arrêtez de nouveau la base (shutdown immediate)
puis redémarrez grâce à la commande : STARTUP
SELECT NAME, VALUEFROM
V$PARAMETERSWHERE NAME LIKE
'LOG_ARCHIVE%';
SEQUENCE SCN
--------------------- ----------19
383077
Lançons maintenant la récupération (RECOVER DATABASE)
en indiquant le SCN 383077 trouvé précédemment :