Service SQL IBM i (AS/400) · Fonction table
SYSTOOLS.AUDIT_JOURNAL_CD
Journal d'audit : commandes exécutées (CD)
Lit les entrées CD du journal d'audit : commandes CL exécutées, avec la chaîne de commande complète, le lieu d'exécution et l'utilisateur.
À quoi ça sert
Cette fonction de table lit les entrées de type CD du journal d'audit : les commandes CL exécutées. COMMAND_STRING contient la commande avec ses paramètres, OBJECT_LIBRARY et OBJECT_NAME désignent la commande elle-même, et WHERE_RUN dit d'où elle a été lancée.
Elle permet de savoir qui a lancé quelle commande sensible (CHGSYSVAL, CRTUSRPRF, ENDJOB…) et à quel moment. L'exemple d'IBM sélectionne toutes les commandes CHG* de la bibliothèque QSYS exécutées dans la semaine.
Le SQL apporte le filtrage par motif (LIKE), le regroupement et la jointure avec les services d'information utilisateur, ce qui rend l'analyse bien plus souple qu'avec DSPAUDJRNE.
Résultat réel sur un IBM i 7.5
Ce que nous avons exécuté :
SELECT * FROM TABLE(SYSTOOLS.AUDIT_JOURNAL_CD(STARTING_TIMESTAMP => CURRENT TIMESTAMP - 90 DAYS)) X
Aucune entrée de ce type dans le journal d'audit sur les 90 derniers jours : ce type d'événement n'est pas audité ou ne s'est pas produit sur notre IBM i de test.
L'exemple d'IBM
Lister les commandes de changement (CHG*) exécutées durant cette semaine.
-- Description: List any change commands that were run this week.
SELECT * FROM TABLE(SYSTOOLS.AUDIT_JOURNAL_CD(
STARTING_TIMESTAMP => CURRENT TIMESTAMP - 7 DAYS ))
WHERE ENTRY_TYPE = 'C' AND
OBJECT_LIBRARY = 'QSYS' AND
OBJECT_NAME LIKE 'CHG%';
Bon à savoir
Ces entrées ne sont écrites que pour les utilisateurs ou le système dont l'audit des commandes (*CMD) est activé, et le volume peut être très important : bornez par horodatage et par commande.
Paramètres
| Paramètre | Type | Par défaut | Signification |
|---|---|---|---|
STARTING_RECEIVER_NAME |
VARCHAR(10) | '*CURAVLCHN' | Nom du récepteur de journal de départ |
ENDING_RECEIVER_NAME |
VARCHAR(10) | '*CURRENT' | Nom du récepteur de journal de fin |
STARTING_TIMESTAMP |
TIMESTAMP | NULL | Horodatage de début |
ENDING_TIMESTAMP |
TIMESTAMP | NULL | Horodatage de fin |
USER_NAME |
VARCHAR(10) | '*ALL' | Nom du profil utilisateur |
JOB |
VARCHAR(28) | '*ALL' | Nom qualifié du travail |
PROGRAM |
VARCHAR(10) | '*ALL' | Programme |
STARTING_SEQUENCE |
DECIMAL(21, 0) | NULL | Numéro de séquence de départ |
ENDING_SEQUENCE |
DECIMAL(21, 0) | NULL | Numéro de séquence de fin |
STARTING_RECEIVER_LIBRARY |
VARCHAR(10) | '*CURRENT' | Bibliothèque du récepteur de journal de départ |
ENDING_RECEIVER_LIBRARY |
VARCHAR(10) | '*CURRENT' | Bibliothèque du récepteur de journal de fin |
Colonnes renvoyées (31)
Afficher les 31 colonnes
| Colonne | Type | Signification |
|---|---|---|
ENTRY_TIMESTAMP |
TIMESTAMP | Horodatage de l'entrée |
SEQUENCE_NUMBER |
DECIMAL(21, 0) | Numéro de séquence |
USER_NAME |
VARCHAR(10) | Nom du profil utilisateur |
QUALIFIED_JOB_NAME |
VARCHAR(28) | Nom qualifié du travail |
JOB_NAME |
VARCHAR(10) | Nom du travail |
JOB_USER |
VARCHAR(10) | Profil utilisateur du travail |
JOB_NUMBER |
VARCHAR(6) | Numéro du travail |
THREAD |
BIGINT | Unité d'exécution (thread) |
PROGRAM_LIBRARY |
VARCHAR(10) | Bibliothèque du programme |
PROGRAM_NAME |
VARCHAR(10) | Nom du programme |
PROGRAM_LIBRARY_ASP_DEVICE |
VARCHAR(10) | Unité ASP de la bibliothèque du programme |
PROGRAM_LIBRARY_ASP_NUMBER |
INTEGER | Numéro de l'ASP de la bibliothèque du programme |
REMOTE_PORT |
INTEGER | Port distant |
REMOTE_ADDRESS |
VARCHAR(46) | Adresse distante |
SYSTEM_NAME |
VARCHAR(8) | Nom du système |
SYSTEM_SEQUENCE_NUMBER |
DECIMAL(21, 0) | Numéro de séquence système |
RECEIVER_LIBRARY |
VARCHAR(10) | Bibliothèque du récepteur de journal |
RECEIVER_NAME |
VARCHAR(10) | Nom du récepteur de journal |
RECEIVER_ASP_DEVICE |
VARCHAR(10) | Unité ASP du récepteur de journal |
RECEIVER_ASP_NUMBER |
INTEGER | Numéro d'ASP du récepteur de journal |
ARM_NUMBER |
INTEGER | Numéro ARM |
ENTRY_TYPE |
CHAR(1) | Type de l'entrée |
ENTRY_TYPE_DETAIL |
VARCHAR(200) | Détail du type de l'entrée |
OBJECT_LIBRARY |
VARCHAR(10) | Bibliothèque de l'objet |
OBJECT_NAME |
VARCHAR(10) | Nom de l'objet |
OBJECT_TYPE |
VARCHAR(7) | Type de l'objet |
OBJECT_ASP_NAME |
VARCHAR(10) | Nom de l'ASP de l'objet |
OBJECT_ASP_NUMBER |
INTEGER | Numéro de l'ASP de l'objet |
WHERE_RUN |
CHAR(1) | Lieu d'exécution |
WHERE_RUN_DETAIL |
VARCHAR(200) | Détail du lieu d'exécution |
COMMAND_STRING |
VARCHAR(6000) | Chaîne de la commande |