Sauvegarder et restaurer une base de données
Plusieurs problèmes peuvent intervenir dans un système de base de données relationnel, pouvant provoquer des pertes ou des incohérences de données. Un incident électrique peut provoquer l'arrêt brutal de l'ordinateur; le disque stockant l'information peut être endommagé; un utilisateur peut faire le drop d'une table en se trompant de nom. Le recovery de database doit pouvoir corriger ces données lors d'un événement anormal.
Le problème peut être de quatre types différents :
SYSTEM FAILURE : Le serveur relationnel peut s'arrêter anormalement à cause d'error conditions ou de power failure.
DASD FAILURE : Le système peut être dans l'incapacité de lire ou d'écrire une donnée sur une unité disque par suite d'endommagement de support. Une telle erreur peut se produire sur un log ou sur un storage pool de la base de données relationnelle.
APPLICATION FAILURE : Un programme d'application peut se terminer anormalement.
USER EXIT ERRORS : Le système ou l'application effectue une fonction, mais celle-ci provoque une erreur : par exemple si l'utilisateur (ou le programme d'application) ne précise pas la bonne fonction.
Il est donc impératif de faire des sauvegardes régulièrement.
L'archivage standard est un FULL BACKUP c'est à dire qu'il sauvegarde la base en totalité. Si un problème intervient, la restauration standard est un FULL RESTORE c'est à dire la restauration complète de la base.
BACKSTORE permet au responsable de la gestion et de la maintenance des bases DB2 de faire face à de tels problèmes. De plus la sauvegarde de type incrémental va réduire les temps de backup de façon significative.
Restauration sur System Failure ou Dasd Failure
BACKSTORE est utilisé normalement pour archiver les databases dans l'éventualité d'un incident nécessitant la restauration d'une de ces bases de données.
La fonction BACKUP permet d'archiver l'intégralité de la database sur bande, disque ou sur deux supports (de même type ou non) simultanément. Un état fournissant la liste de toutes les tables candidates au rechargement est également édité.
En cas de problèmes , il est possible de restaurer l'intégralité de la database depuis une archive issue de BACKUP en utilisant la fonction RESTORE.
Restauration sur Application Failure ou User Logic Errors
BACKSTORE peut aussi, via sa fonction UNLOAD, effectuer des backups partiels de la database en vue de reloads ultérieurs. Jusqu'à 90 dbspaces peuvent être déchargés concurremment par la fonction UNLOAD. Jusqu'à 90 tables peuvent être rechargées depuis les fichiers créés par l'UNLOAD, l'archive du BACKUP ou l'archive DB2.
BACKSTORE permet à l'utilisateur de recharger une table particulière (jusqu'à 90 tables concurrement possible) depuis une archive.
Dans un tel cas, il est possible de restaurer les tables qui sont affectées et d'appliquer un recovery au niveau ´point in time´ en utilisant les fichiers Log (Current Log et Log Archives).
Lors du recovery au niveau de la table, les index, l'intégrité référentielle, les vues, les grants, les comments et labels sont recréés.
En remplaçant la table par l'image précédente, toutes les modifications référencées dans les fichiers Log seront perdues. Le traitement de type Forward Recovery appliquera toutes ces modifications sur les tables rechargées. BAKCSTORE fournit toutes les fonctions nécessaires à l'exécution du Forward recovery.