Journalisation des transactions

La journalisation des transactions Domino ® capture les modifications apportées à une base de données et les écrit dans un journal des transactions. Les transactions enregistrées sont ensuite écrites sur le disque par lots, soit lorsque les ressources sont disponibles, soit lorsqu'elles sont planifiées.

Une transaction est une série de modifications liées apportées à une base de données sur un serveur. Par exemple, ouvrir un nouveau document, ajouter du texte et enregistrer le document constitue une seule transaction. Dans ce cas, la transaction se compose de trois appels API implicites distincts : NotesOpen, NoteUpdate et NoteClose.

Un journal de transactions est un enregistrement des modifications apportées aux bases de données Notes® . Le journal des transactions se compose des extensions de journal et du fichier de contrôle du journal ( NLOGCTRL.LFH ). Une étendue de journal est l'un des fichiers journaux dans lesquels les journaux de transactions sont écrits. Il se présente sous la forme S xxxxxxx .TXN , où les caractères xxxxxxx représentent un nombre à sept chiffres unique à ce serveur. Domino ® remplit chaque extension de manière séquentielle avant d'écrire des données dans une nouvelle extension. Les enregistrements sont sécurisés à l'aide d'un format de flux d'octets propriétaire. Chaque serveur ne dispose que d'un seul journal des transactions qui capture toutes les modifications apportées aux bases de données activées pour la journalisation des transactions.

Utilisez la journalisation des transactions pour :

  • Planifiez des sauvegardes régulières. Les sauvegardes basées sur les journaux de transactions sont plus rapides et plus simples que les sauvegardes complètes de bases de données qui n'utilisent pas la journalisation des transactions.
  • Récupérez après une panne multimédia. En cas de panne de support, vous pouvez restaurer la sauvegarde complète la plus récente à partir d'une bande, puis utiliser les journaux de transactions pour ajouter les données qui n'ont pas été écrites sur le disque.
  • Récupérez après une panne du système. Lorsque le serveur redémarre, il parcourt la fin des journaux de transactions et récupère toutes les écritures qui n'ont pas été effectuées sur le disque au moment du crash. Les bases de données journalisées ne nécessitent pas de contrôle de cohérence.
  • Enregistrez les vues de la base de données. Vous pouvez éviter la plupart des reconstructions de vues.

Pour utiliser toutes les fonctionnalités de journalisation des transactions pour les sauvegardes et la récupération de sauvegarde, vous avez besoin d'un utilitaire de sauvegarde tiers qui utilise les méthodes de sauvegarde et de récupération de Domino ® C API Toolkit. Par exemple, dans le cas d'une récupération de support, une sauvegarde de la base de données est effectuée avec l'utilitaire tiers, tandis que la journalisation assure le suivi des mises à jour de la base de données. Lorsque la base de données est ensuite perdue, la sauvegarde est mise à jour en parcourant le journal des transactions et en appliquant toutes les mises à jour survenues sur ces bases de données depuis la sauvegarde de la base de données.

Notez que la récupération au redémarrage ne nécessite pas d'utilitaire tiers. Dans ce cas, la journalisation se poursuit pendant que les mises à jour sont en cours. Lorsque le serveur plante puis redémarre, toutes les mises à jour qui auraient autrement été perdues sont écrites dans la base de données. Cela réduit considérablement la perte de données et la corruption des bases de données dues aux pannes de serveur, et réduit le temps de redémarrage global puisque la vérification de la cohérence des bases de données n'est pas requise.

Remarque : La journalisation des transactions est obligatoire et doit rester activée si vous envisagez d'utiliser le service de pièces jointes et d'objets Domino ® , disponible dans Domino ® 8.5 et versions ultérieures, pour consolider les pièces jointes dans un référentiel de serveur.

Comprendre l'ID d'instance de base de données (DBIID)

Lorsque vous activez la journalisation des transactions, Domino ® attribue un ID d'instance de base de données unique (DBIID) à chaque base de données Domino ® . Lorsque Domino ® enregistre une transaction dans le journal, il inclut ce DBIID. Lors de la récupération, Domino ® utilise le DBIID pour faire correspondre les transactions aux bases de données.

Certaines activités de maintenance de la base de données, telles que l'utilisation de la commande Compact avec des options, obligent Domino ® à reconstruire la base de données de telle sorte que les anciens enregistrements du journal des transactions ne soient plus valides. Lorsque cela se produit, un nouveau DBIID est attribué à la base de données. À partir de ce moment, toutes les nouvelles transactions enregistrées dans le journal de cette base de données utilisent le nouveau DBIID. Une fois qu'un nouveau DBIID a été attribué à une base de données, effectuez une nouvelle sauvegarde complète de la base de données. La nouvelle sauvegarde complète capture la base de données dans son état actuel avec le nouveau DBIID. Ensuite, si vous devez restaurer la base de données, Domino ® n'a besoin que des nouvelles transactions contenant le nouveau DBIID.

Domino ® attribue un nouveau DBIID lorsque :

  • Vous activez la journalisation des transactions pour la première fois.
  • Vous exécutez la tâche Compact avec une option, par exemple l'option permettant de réduire la taille du fichier.
  • Vous exécutez la tâche Fixup sur des bases de données corrompues.
  • Vous déplacez une base de données Domino ® vers un serveur connecté.