Forum général.général arrêt brutal de DB2 au milieu d'une transaction

Posté par  (site web personnel) .
Étiquettes : aucune
0
14
avr.
2005
Bonjour,

une question m'est passé par la tête tout récemment.
Comment est géré sous db2 le cas où une transaction n'a pas été finie pour cause d'arrêt brutal de la machine (ie. coupure de courant)

Je me souviens sous oracle d'un vague REDO-LOG qui reprenait les transactions là où elles en etaient, mais je suis pas sûr que ce soit vraiment ca le principe exact, et je ne suis pas sur que db2 fasse de même.

Quelqu'un pour m'eclairer ?
Merci.
  • # L'intégrité est garantie

    Posté par  . Évalué à 3.

    Je ne suis pas un connaisseur de DB2, mais de toutes façons la transaction est soit absente de la base, soit totalement effectuée; en aucun cas effectuée en partie.
    Le Redo-log peut permettre de rejouer une transaction non encore écrite dans les fichiers de données; sur Oracle, les transactions sont d'abord "écrites" (en fait on y stocke les données avant modif et après modif) dans le redo-log, et ensuite dans les "vrais" fichiers de données. Il faut peut-être que tu regardes les logs de la base pour savoir si ta transaction a pu être rejouée, ou alors le contenu des tables bien sûr. J'ai tendance à penser que si le courant a été coupé pendant la transaction, elle ne pourra pas être rejouée car pas entièrement stockée dans le redo-log, mais je peux me tromper.
    • [^] # Re: L'intégrité est garantie

      Posté par  (site web personnel) . Évalué à 2.

      Merci tu confirmes le résultat de mes investigations.
      En fait le redo-log s'appele rollforwarding chez ibm, et ca fonctionne a priori pareil que sous oracle : donc la transaction est a priori perdue

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.