Pour exécuter une application de validation en deux phases, vous devez prendre en compte les éléments suivants :
- Il est préférable d'avoir autant de régions de programme de traitement de messages (MPP) que possible en cours de fonctionnement pour s'assurer que les applications de validation en deux phases ne tentent pas d'utiliser une même région car une transaction au sein d'une application de validation en deux phases utilise une telle région durant toute la transaction de validation.
- Si plusieurs transactions IMS sont réalisées au sein d'une transaction de validation en deux phases, autant de régions MPP au moins doivent être disponibles afin de ne pas bloquer l'application de validation en deux phases.
- Afin d'éviter que le temps d'attente d'une transaction pour recevoir des ressources ne soit trop long, il est conseillé de définir une valeur pour ce délai d'attente pour chaque interaction ayant lieu au sein de la transaction globale.
- Evitez qu'un trop grand nombre d'interactions de la base de données ne soit réalisé dans une seule transaction de validation en deux phases. Si plusieurs transactions IMS sont utilisées dans une transaction de validation en deux phases, elles peuvent bloquer ou verrouiller une tentative de mise à jour ou modifier les mêmes données. Pour prévenir ce type de situation, nous vous conseillons de procéder à l'écriture d'une application qui empêchera les utilisateurs d'accéder à des entrées dupliquées dans la même transaction de validation en deux phases.
- Configurez votre gestionnaire de verrouillage des ressources internes (IRLM) ou votre gestionnaire de verrouillage IP pour utiliser une taille de bloc aussi petite que la plus petite entrée de la base de données. Les tailles de blocs plus larges peuvent avoir deux transactions bloquant des entrées qui pourraient même être différentes et cependant se trouver proches les unes des autres sur le disque dur.
- Si plusieurs interactions sont effectuées avec la même transaction IMS sur la même base de données IMS au sein d'une
transaction globale (une unité de travail), chaque interaction IMS doit s'exécuter sur une région MPP distincte. La transaction IMS doit avoir une valeur SCHDTYP=PARALLEL
et PARLIM=0, pour indiquer que la transaction IMS peut s'exécuter sur plusieurs régions MPP
et qu'elle répondra toujours aux exigences de planification (le nombre de messages
sera supérieur à zéro) pour traiter chaque interaction sur une nouvelle région MPP.
- Si une région est bloquée, en attente du service RRS-OTMA et qu'aucune valeur n'a été définie pour le délai d'attente d'exécution, vous pouvez mettre fin à la tentative d'exécution d'une transaction bloquée dans la région MPP. Vous pouvez pour cela exécutez la commande IMS arrêter une région avec le paramètre fin anormale de la transaction. Par exemple, /STOP REGION reg#ABDUMP tranname.
La transaction sera ainsi annulée pour l'interaction donnée et la région MPP sera débloquée.