Modèles de récupération pour Oracle

Oracle gère les modifications apportées à son contenu et à sa structure de manière à garantir la restauration de la base de données sur la dernière transaction validée après un point de défaillance unique. Sur la dernière transaction validée signifie qu'une fois que l'utilisateur reprend le contrôle après exécution d'une instruction COMMIT, Oracle garantit que les données validées sont écrites sur disque dans un certain format et sont récupérables. Point de défaillance unique signifie qu'un fichier ou processus unique peut échouer sans que le contenu d'une transaction validée soit perdu. Si un fichier de données est perdu ou corrompu, le contenu des journaux de restauration garantit que les données sont récupérables. Si un fichier de contrôle échoue, les autres fichiers de contrôle garantissent la sécurité des informations. Un processus peut être interrompu, mais les données validées ne sont jamais perdues.

Pour récupérer une base de données après un échec, Oracle effectue les étapes suivantes :

  1. Lit le fichier init.ora pour déterminer le nom et l'emplacement des fichiers de contrôle.
  2. Lit les fichiers de contrôle pour vérifier qu'ils sont cohérents entre eux et déterminer la structure de fichier physique de la base de données.
  3. Ouvre chaque fichier de données mentionné dans le fichier de contrôle pour déterminer si ce fichier de données est à jour et reflète le dernier changement validé ou doit être récupéré.
  4. Ouvre chaque fichier journal de restauration en séquence et applique les informations qu'il y trouve à chaque fichier de données, selon les besoins, pour mettre chaque fichier de données à l'état où il contient toutes ses transactions validées.

Si la base de données a perdu un fichier de contrôle, elle est récupérée via le remplacement du fichier de contrôle perdu par une copie d'un fichier de contrôle courant.

Si la base de données a perdu un ou plusieurs fichiers de données, elle est récupérée d'abord via le remplacement du ou des fichiers de données perdus par des copies de sauvegarde, puis via l'utilisation des journaux de restauration (en ligne ou archivés) pour que les copies restaurées soient des copies courantes. Si les copies de sauvegarde ne sont pas restaurées aux mêmes emplacements que les fichiers d'origine qu'elles doivent remplacer, vous devez utiliser la commande ALTER DATABASE > RENAME FILE pour indiquer à l'instance Oracle l'endroit où se trouvent les fichiers restaurés.

Si la base de données a perdu le journal de restauration en ligne en cours, l'instance de base de données s'arrête lorsqu'elle essaie de valider davantage de transactions. Aucune donnée n'est perdue, mais la transaction la plus récente n'est pas validée et peut nécessiter d'être réentrée lorsque la base de données est de nouveau opérationnelle. Cependant, le fichier journal de restauration en ligne en cours doit être remplacé et une sauvegarde de la base de données doit immédiatement être effectuée.

Si la base de données a perdu des journaux de restauration archivés, l'instance de base de données continue à fonctionner car elle ignore cette perte. Toutefois, la possibilité de restaurer la base de données serait compromise si le média présentait une seconde défaillance ou si des fichiers étaient à nouveau perdus. Une nouvelle sauvegarde doit être effectuée si les journaux de restauration archivés sont perdus.

Rubriques associées


3/6/2012