Le changement suivant apporté à la clause WHERE a permis au DBA d’entrer plus profondément dans la hiérarchie d’un programme particulier :
WHERE -- B.QSTCLV <= 4 B.QSTNDE IN (23, 25, 27) OR B.QSTPAR = 27
Dans ce cas, le DBA a remarqué
Modifier les programmes pour améliorer l’analyse et la performance
dans la pile d’appel antérieure que le programme HLLOPM011R (ID 23) appelait le programme HLLOPM111R (ID 25). Il a aussi remarqué, dans la liste QDBGETKY (« where-used ») de la figure 9, que HLLOPM111R appelait le module QDBGETKY (ID 27). Ces numéros ID étaient utilisés dans la clause IN pour ne sélectionner que ces enregistrements. En outre, ID 27 était inclus sur la clause OR pour inclure tous les modules appelés par QDBGETKY. La figure 10 montre le résultat de la requête.
Le DBA a également constaté que QDBGETKY adressait environ 1,5 millions d’appels au module i5/OS Send Status Message(QMHSNSTA). En outre, la portion procédure du nom de programme ne commençait pas par _QRNP_PEP, qui indique qu’il s’agit d’un programme OPM (Original Program Model).
En substance, les programmes OPM reçoivent des messages d’état de la part de QDBGETKY quand une exception survient (comme un enregistrement non trouvé). D’autre part, les programmes ILE plus modernes reçoivent simplement un indicateur d’état de la part de QDBGETKY, quand une exception se produit. En convertissant ce programme en ILE, on élimine les 1,5 millions d’appels de QDBGETKY à QMHSNSTA (plus tout le travail cumulé effectué par ce module).
Téléchargez cette ressource
Guide de Sécurité IA et IoT
Compte tenu de l'ampleur des changements que l'IA est susceptible d'entraîner, les organisations doivent élaborer une stratégie pour se préparer à adopter et à sécuriser l'IA. Découvrez dans ce Livre blanc Kaspersky quatre stratégies efficaces pour sécuriser l'IA et l'IoT.