Serveurs ne prenant pas en charge le commit en deux phases

Dans une transaction distribuée, l' Db2 e peut coordonner un mélange de connexions en deux phases et en une phase.

Vous ne pouvez pas avoir de mises à jour coordonnées avec un SGBD qui n'implémente pas le commit en deux phases. Vous pouvez toutefois obtenir l'effet de mises à jour coordonnées lorsque vous accédez à un serveur qui n'implémente pas le commit en deux phases; un tel serveur est appelé système restreint.

Db2 vous empêche de mettre à jour à la fois un système restreint et tout autre système de la même unité de travail. Dans ce contexte, la mise à jour inclut les instructions INSERT, DELETE, UPDATE, CREATE, ALTER, DROP, GRANT, REVOKE et RENAME.

Vous pouvez obtenir l'effet de mises à jour coordonnées avec un système restreint. Vous devez d'abord mettre à jour un système et valider ce travail, puis mettre à jour le deuxième système et valider son travail. Cependant, supposons qu'une défaillance se produise après la validation de la première mise à jour et avant la validation de la deuxième mise à jour. Aucune disposition automatique n'est disponible pour ramener les deux systèmes à un point cohérent. Votre programme doit gérer cette tâche.

Lorsque vous accédez à un ensemble de systèmes, dont certains peuvent être restreints, vous pouvez prendre les mesures suivantes pour garantir l'intégrité des données :

  • Lecture à partir de n'importe quel système, à tout moment.
  • Mettre à jour un système plusieurs fois dans une unité de travail.
  • Mettre à jour plusieurs systèmes, y compris CICS® ou IMS, en une seule unité de travail si aucun système n'est un système restreint. Si le premier système que vous mettez à jour n'est pas restreint, toute tentative de mise à jour d'un système restreint au sein d'une unité de travail entraîne une erreur.
  • Mettre à jour un système restreint dans une unité de travail. Vous ne pouvez effectuer cette action que si vous n'essayez pas de mettre à jour un autre système dans la même unité de travail. Si le premier système que vous mettez à jour est restreint, toute tentative de mise à jour d'un autre système au sein de cette unité de travail entraîne une erreur.