SamuelBRENOT611720

Mise en place d'une vérification de la disponibilité d'une DB avant de lancer un job applicatif ?

Discussion created by SamuelBRENOT611720 on May 11, 2017
Latest reply on May 16, 2017 by SamuelBRENOT611720

Bonjour,

Voici mon besoin:
Je dois soumettre des jobs applicatifs attaquant une DB.
Le métier me demande qu'il soit vérifié avant, si la DB est disponible afin de ne soumettre le job applicatif que si la DB est disponible. Si la DB est en maintenance, je dois répondre à des spécifications données, si elle est HS, je dois déclarer une erreur.
Si la DB est HS, le job de vérification doit tomber en erreur.

Solution actuelle:
Nous avons un script métier de vérification qui va tester la disponibilité de la DB.
Dans le cas d'une maintenance de la DB, nous avons un CR spécifique

Si la DB est en maintenance, dans certains cas, je dois shunter le job applicatif, dans d'autres cas, je dois relancer la vérification n fois avant de laisser le job de vérification en erreur

Problématiques:
Si mon Workflow contient plusieurs jobs, le script de vérification est lancé en 1ere étape de celui-ci. Or, si la DB est mise en maintenance après la vérification, une partie des jobs métier en aval vont tomber en erreur car la DB n'est pas disponible : cela déclare une erreur alors que normalement ce n'en est pas une.

La solution que j'envisage:
Une VARA tableau avec la liste des DB dans une colonne et le statut de chacune (UP ou DOWN) dans une 2e colonne.
Dans le WF, le 1er job serait une vérification du statut de la DB avant de lancer les jobs métier.
Cela implique que dans le process de maintenance il soit bien définit au niveau des DBA, du systèmes, ... de bien mettre à jour le statut de la DB dans OA avant et après les opérations, ce qui entraîne un changement dans le process actuel.
On peut même envisager de déclencher par WebService cette mise à jour via les script d'arrêt/relance des DB par ex afin d'automatiser la phase de mise à jour du statut.

Questions:
Comment gérer vous la vérification de la disponibilité d'une DB avant de lancer un script métier ?

Avez vous des commentaires/critiques sur la solution que j'envisage ?


Outcomes