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