Aller au contenu

Service SQL IBM i (AS/400) · Variable globale

SYSIBMADM.QIBM_SELF_BY_DAYS

Durée de conservation des erreurs SQL (SELF)

Variable globale qui fixe, en jours, la durée de conservation des lignes de la table SQL_ERRORT alimentée par SELF, le journal d'erreurs SQL de Db2 for i.

À quoi ça sert

SYSIBMADM.QIBM_SELF_BY_DAYS est une variable globale de type entier. Elle règle le nombre de jours pendant lesquels les lignes de la table SQL_ERRORT sont conservées. Cette table est alimentée par SELF (SQL Error Logging Facility), qui enregistre le détail des instructions SQL en erreur.

On ne l'interroge pas comme un service : on la crée ou on la remplace avec CREATE OR REPLACE VARIABLE en lui donnant une valeur par défaut. L'exemple fourni par IBM la fixe à 30 jours. Elle sert aux développeurs et aux exploitants qui veulent garder plus ou moins d'historique d'erreurs SQL selon la place disponible.

L'avantage du SQL est de pouvoir ajuster cette rétention par un simple ordre, sans passer par une commande CL, et de l'inclure dans un script de configuration rejouable.

Résultat réel sur un IBM i 7.5

Ce que nous avons exécuté :

VALUES SYSIBMADM.QIBM_SELF_BY_DAYS

Ce que l'IBM i a renvoyé le 01/10/2026 (1 ligne au plus) :

00001
365

Données anonymisées : les noms de système, de profils, de bibliothèques, de postes et les adresses IP ont été remplacés. Les objets du schéma JOBISQL sont des objets de démonstration créés pour ce site.

L'exemple d'IBM

Modifier la durée de conservation par défaut des lignes de la table SQL_ERRORT pour la porter à 30 jours.

-- Description: Change the default retention time for rows in the SQL_ERRORT table to 30 days. 
  CREATE OR REPLACE VARIABLE SYSIBMADM.QIBM_SELF_BY_DAYS  
      INTEGER DEFAULT 30;

Bon à savoir

Cette variable règle la durée de conservation, tandis que SYSIBMADM.SELFCODES choisit les erreurs capturées. Consultez ce qui a été enregistré avec QSYS2.SQL_ERROR_LOG.