Bonjour,
Je souhaite tracer l'utilisation de fonctions SQL. Du moins connaitre la date de dernière utilisation de nos fonctions SQL.
Les fonctions SQL Internes sont bien présente dans OBJECT_STATISTICS, mais le problème réside sur les fonctions externe qui ne sont pas tracées dans cette table.
Avez vous un moyen de trouver les informations d'utilisation des fonctions SQL Externes ?
Merci
Audit Fonction SQL
Re: Audit Fonction SQL
Bonjour,
On parle bien de :
- fonctions internes = fonctions écrites en SQL
- fonctions externes = fonctions écrites en RPG/COBOL
Dans OBJECT_STATISTICS, on accède aux propriétés des objets dans les bibliothèques.
Les noms des fonctions SQL peuvent être différents, il faut bien partir de QSYS2.SYSFUNCS pour toruver la relation nom SQL => objet.
Et avec l'objet interroger OBJECT_STATISTICS.
Maintenant je ne suis pas sur que les dates d'utilisation soient mises à jour
On parle bien de :
- fonctions internes = fonctions écrites en SQL
- fonctions externes = fonctions écrites en RPG/COBOL
Dans OBJECT_STATISTICS, on accède aux propriétés des objets dans les bibliothèques.
Les noms des fonctions SQL peuvent être différents, il faut bien partir de QSYS2.SYSFUNCS pour toruver la relation nom SQL => objet.
Et avec l'objet interroger OBJECT_STATISTICS.
Maintenant je ne suis pas sur que les dates d'utilisation soient mises à jour
Nathanaël
Re: Audit Fonction SQL
Bonjour,
Oui on parle bien de la même chose.
Par contre, nous avons des programmes de services accédés soit par l'intermédiaire de fonctions SQL externe soit en direct dans nos programmes RPG.
Je ne peut donc pas me fier à la date d'utilisation du programme de service. Vérifier l'usage du programme de service ne me permet pas d'avoir l'usage de la fonction SQL externe.
Par ailleurs, j'ai essayé de mettre en place de l'audit sur le programme de service puis exécuté la fonctions SQL associée, mais aucune trace dans le journal d'audit.
C'est plutot moche !
C'est bien dommage, il semble y avoir un trou dans la raquette
Pour completer dans SYSFUNCS j'ai
SPECIFIC_SCHEMA SPECIFIC_NAME ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_CREATED ROUTINE_BODY EXTERNAL_NAME EXTERNAL_LANGUAGE
TIEOBJ TRAI18N01F TIEOBJ GETTRADUCTION 28/12/2022 EXTERNAL TIEOBJ/I18N_S(GETTRADUCTIONI18N) RPGLE
Dans OBJECT_STATISTICS
SELECT * FROM TABLE(QSYS2.OBJECT_STATISTICS('TIEOBJ', '*ALL')) AS x
WHERE x.OBJNAME = 'TRAI18N01F' OR x.OBJLONGNAME = 'TRAI18N01F' OR
x.OBJNAME = 'GETTRADUCTION' OR x.OBJLONGNAME = 'GETTRADUCTION' OR
x.OBJNAME = 'I18N_S' OR x.OBJLONGNAME = 'I18N_S'
je n'ai qu'une ligne pour I18N_S
OBJNAME OBJTYPE OBJCREATED OBJSIZE OBJLONGNAME LAST_USED_TIMESTAMP
I18N_S *SRVPGM 28/12/2022 843776 11/01/2023
Oui on parle bien de la même chose.
Par contre, nous avons des programmes de services accédés soit par l'intermédiaire de fonctions SQL externe soit en direct dans nos programmes RPG.
Je ne peut donc pas me fier à la date d'utilisation du programme de service. Vérifier l'usage du programme de service ne me permet pas d'avoir l'usage de la fonction SQL externe.
Par ailleurs, j'ai essayé de mettre en place de l'audit sur le programme de service puis exécuté la fonctions SQL associée, mais aucune trace dans le journal d'audit.
C'est plutot moche !
C'est bien dommage, il semble y avoir un trou dans la raquette
Pour completer dans SYSFUNCS j'ai
SPECIFIC_SCHEMA SPECIFIC_NAME ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_CREATED ROUTINE_BODY EXTERNAL_NAME EXTERNAL_LANGUAGE
TIEOBJ TRAI18N01F TIEOBJ GETTRADUCTION 28/12/2022 EXTERNAL TIEOBJ/I18N_S(GETTRADUCTIONI18N) RPGLE
Dans OBJECT_STATISTICS
SELECT * FROM TABLE(QSYS2.OBJECT_STATISTICS('TIEOBJ', '*ALL')) AS x
WHERE x.OBJNAME = 'TRAI18N01F' OR x.OBJLONGNAME = 'TRAI18N01F' OR
x.OBJNAME = 'GETTRADUCTION' OR x.OBJLONGNAME = 'GETTRADUCTION' OR
x.OBJNAME = 'I18N_S' OR x.OBJLONGNAME = 'I18N_S'
je n'ai qu'une ligne pour I18N_S
OBJNAME OBJTYPE OBJCREATED OBJSIZE OBJLONGNAME LAST_USED_TIMESTAMP
I18N_S *SRVPGM 28/12/2022 843776 11/01/2023
Re: Audit Fonction SQL
Je continue de chercher (la question tourne au bureau !)
Pour OBJECT_STATISTICS, il n'y a qu'une seule ligne : oui, il n'y a qu'un seul objet, qui est indiqué par ROUTINE_BODY EXTERNAL_NAME => TIEOBJ/I18N_S de type *SRVPGM
Les autres informations sont des concepts SQL, ici du "catalogue pur" sans objet natif correspondant
Pour OBJECT_STATISTICS, il n'y a qu'une seule ligne : oui, il n'y a qu'un seul objet, qui est indiqué par ROUTINE_BODY EXTERNAL_NAME => TIEOBJ/I18N_S de type *SRVPGM
Les autres informations sont des concepts SQL, ici du "catalogue pur" sans objet natif correspondant
Nathanaël
Re: Audit Fonction SQL
Bonjour,
Après avoir sollicité plusieurs personnes, je n'ai pas trouvé de solution à mon problème. J'ai donc ouvert cette suggestion chez IBM.
https://ibm-power-systems.ideas.ibm.com ... BMI-I-3519
Merci !
Après avoir sollicité plusieurs personnes, je n'ai pas trouvé de solution à mon problème. J'ai donc ouvert cette suggestion chez IBM.
https://ibm-power-systems.ideas.ibm.com ... BMI-I-3519
Merci !