Aller au contenu

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ètreTypePar défautSignification
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
ColonneTypeSignification
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