Aller au contenu

Service SQL IBM i (AS/400) · Fonction table

SYSTOOLS.AUDIT_JOURNAL_SV

Journal d'audit : valeurs système (SV)

Lit les entrées SV du journal d'audit : changements de valeurs système (CHGSYSVAL), avec le nom de la valeur, l'ancienne valeur et la nouvelle.

À quoi ça sert

Cette fonction de table lit les entrées de type SV du journal d'audit, écrites quand une valeur système est modifiée. SYSTEM_VALUE désigne la valeur système, NEW_VALUE sa nouvelle valeur et OLD_VALUE l'ancienne.

C'est une fonction d'exploitation et de sécurité très utile : une valeur système modifiée (niveau de sécurité, règles de mot de passe, paramètres réseau, fuseau horaire) a des effets sur tout le système. Savoir qui l'a changée, quand et depuis quelle valeur permet de comprendre une régression ou de la corriger.

L'exemple d'IBM liste tous les changements de l'année civile en cours, en utilisant TRUNC_TIMESTAMP pour calculer le début de l'année.

Résultat réel sur un IBM i 7.5

Ce que nous avons exécuté :

SELECT * FROM TABLE( 
  SYSTOOLS.AUDIT_JOURNAL_SV( 
    STARTING_TIMESTAMP => TRUNC_TIMESTAMP(CURRENT DATE, 'YEAR') )) 
 WHERE ENTRY_TYPE = 'A'

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 changements de valeurs système effectués durant l'année civile en cours.

-- Description: List any system value changes that have been made in the 
    -- current calendar year. 
 SELECT * FROM TABLE( 
  SYSTOOLS.AUDIT_JOURNAL_SV( 
    STARTING_TIMESTAMP => TRUNC_TIMESTAMP(CURRENT DATE, 'YEAR') )) 
 WHERE ENTRY_TYPE = 'A';

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 (26)

Afficher les 26 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
SYSTEM_VALUE VARCHAR(10) Valeur système
NEW_VALUE VARCHAR(1500) Nouvelle valeur
OLD_VALUE VARCHAR(1500) Ancienne valeur