Developpez.com - Oracle
X

Choisissez d'abord la catégorieensuite la rubrique :


Checkpoint

Date de publication : le 26 Septembre 2005

Par Mohammed Bouayoun
 

Dans cet Article

I. Introduction
II. Les paramètres de checkpoint
IV-A-1. Avant la 10g
III. checkpoint internal


I. Introduction

Le mot Checkpoint signifie la synchronisation des données modifiées en mêmoire avec les fichiers de données dans la base. Par intervalle, le fait d'écrire les données modifiées dans les fichiers de données entre les checkpoints assure la disponibilité d'une quantité de mémoire, qui améliorera les performances pour trouver de la mémoire libre pour les opérations suivantes. Le mécanisme d'écritures des blocs modifiés dans le disque n'est pas synchronisé avec le commit des transactions.

Le checkpoint doit s'assurer que toutes modifications de tampons dans la cache sont réellement écrites dans les fichiers de données correspondants.

Le checkpoint se réalise sous quatre types d'évènements :

  • Quand le delai de LOG_CHECKPOINT_TIMEOUT est atteint.
  • Quand la taille en byte de (LOG_CHECKPOINT_INTERVALL * taille d'E/S des blocs OS) est écrite dans le fichier redo en cours.
  • Directement par la commande ALTER SYSTEM SWITCH LOGFILE.
  • Directement par la commande ALTER SYSTEM CHECKPOINT.
Le checkpoint doit être rompus dans deux cas spécifiques :

  • Le DBWR écrit les tampons modifiés de la cache dans les fichiers de données.
  • Le LGWR met à jours l'entête des fichiers de données et le fichier de contrôle.
Quand LGWR effectue cette tâche, il ne peut pas faire son travail normalement, qui consiste à écrire les transactions dans les fichiers redo. Un process spécifique CKPT doit être utiliser pour liberer le LGWR de cette tâche. A partir de la version Oracle8 le process CKPT démarre automatiquement.

Le mécanisme de checkpoints présente un dilemme pour les dba Oracle, qui doivent trouver un point de compromis entre une performance global de l'instance et la rapidité de la restauration. La durée de restauratement est directement lié à la frequence des checkpoints.

Plus il y'a de checkpoints, plus la restauration est rapide. La restauration dépend de la quantité écrite dans le fichier redo depuis le dernier checkpoint.

Quand une restauration est nécessaire suite à un crash de l'instance, seulement les transactions écrites depuis le dernier checkpoint qui sont appliqués. Suivant le contexte, on a le choix entre la sécurité avec des checkpoints fréquents et un temps de restauration court ou une performance globale de l'instance avec des checkpoints moins fréquents. Normalement la majorité préfère la performance, car elle représente l'activité majeure dans une base de production.

Il y'a deux types de checkpoints :

  • Checkpoint normal
  • Checkpoint incremental
Le checkpoint normal met à jours les fichiers de contrôle et les entêtes des fichiers de données

Le checkpoint incremental met à jours seulement le fichier de contrôle.


II. Les paramètres de checkpoint


IV-A-1. Avant la 10g

Voir l'article sivant : Avant la 10g


III. checkpoint internal

L'opération de checkpoint est constituée de trois phases distinctes. Dans la première phase, le process qui lance le checkpoint "capture" le RBA checkpoint. Ce RBA est plus souvent le RBA courant (le RBA de la dernière modification dans le buffer) au moment où la demande est initiée. Dans la seconde phase, le process DBWR écrit ailleurs tous les tampons demandés, c.a.d, tous les tampons qui ont été modifiés dont les RBA inférieurs ou égale au RBA checkpoint. Après que tous les tampons modifiés sont écrits, dans la troisième phase, le process CKPT enregistre l'achèvement du checkpoint dans le fichier de contrôle. Seulement quand la troisième phase est achevée qu'on peut affirmer que le checkpoint de l'instance a avancé au nouveau RBA. L'activité normale du checkpoint n'a pas touché quand la demande du checkpoint est active. Dans la figure suivante, on montre comment les tampons sont sélectionnés pour être écrites pour des opérations de checkpoints. Les tampons b1,b3 et b4 ont besoins d'êtres écrites pour achever le checkpoint. Le tampon b6 n'a besoin d'être écrit. Les tampons b2, b5 et b7 sont des tampons propres.



Valid XHTML 1.1!Valid CSS!

Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
Contacter le responsable de la rubrique Oracle