SOA Suite 11G : Automatic Recovery

Récemment, suite à la mise en production de la PS2, nous avons observé des rejeux automatiques de process en erreur sur une période bien précise, tous les jours de minuit à 4h …
Nous n’avions jamais eu ce genre de rejeu auparavant sur les versions R1 et PS1.
Après avoir fait quelques recherches, j’ai appris qu’un module de récupération automatique avait été mis en place sur la PS2 et était par défaut activé.
Ainsi, toutes les instances en erreur et marquées comme récupérables sont rejouées sur la fenêtre de temps prédéfinie dans l’EM. Voyons de quoi il s’agit dans le détail …

Plus précisément, ce module permet de récupérer :

  • Toutes les activités ayant un temps d’expiration (wait, OnAlarm, etc.)
  • Toutes les activités dont le temps d’exécution a dépassé un certain seuil fixé à l’avance.
  • Tous les invoke et callback qui ne sont pas résolus.

Pour accéder à la page de configuration du module de récupération, faites un clic droit sur soa-infra dans l’EM et choisissez BPEL Properties :

Cliquez ensuite sur le lien permettant d’avoir accès à plus de propriétés pour arriver sur la page :

Une fois sur cette page, choisissez Recovery Config afin de pouvoir configurer le module de récupération automatique.

Vous trouvez alors deux types de récupération :

  • RecurringScheduleConfig : récupération de messages sur une fenêtre de temps donnée
  • StartupScheduleConfig : récupération des messages à chaque relance du serveur

Les propriétés disponibles sont les suivantes :

  • maxMessageRaiseSize : il s’agit du nombre maximum de messages qui seront rejoués pour chaque type de récupération possible (activités, invoke et callback) lors de la fenêtre de récupération. Une valeur négative permet de récupérer tous les messages tandis que 0 désactive la récupération automatique.
  • startWindowTime : heure de début de la récupération automatique quotidienne (sur 24h).
  • stopWindowTime : heure de fin de la récupération automatique quotidienne (sur 24h).
  • subsequentTriggerDelay : délai entre chaque tentative de récupération (300 secondes par défaut).
  • threshHoldTimeInMinutes : seuil en minutes pendant lequel les messages ne peuvent être resoumis afin d’éviter les rejeux immédiats.
  • startupRecoveryDuration : durée de la récupération des messages suite à un redémarrage.

Il est important d’avoir connaissance de l’existence de ce module afin de le configurer au mieux vis-à-vis des besoins et surtout pour ne pas impacter les performances du TP. En effet, on préférera une récupération en dehors des heures de pointe de sollicitation du serveur. Par ailleurs, il convient de faire attention aux rejeux systématiques d’instances toujours en erreur afin de ne pas faire exploser la taille des tablespaces.

1 réflexion sur “SOA Suite 11G : Automatic Recovery”

Les commentaires sont fermés.