Aller au contenu

Recette SQL IBM i (AS/400) · Stockage

Les objets d'une bibliothèque inutilisés depuis plus d'un an

Les objets d'une bibliothèque jamais utilisés, ou pas depuis plus d'un an, classés par taille : les candidats au nettoyage.

Le besoin

Avant un nettoyage, on veut savoir ce qui ne sert plus. IBM i tient le compte : date de dernière utilisation et nombre de jours d'utilisation pour chaque objet.

La requête

SELECT OBJNAME, OBJTYPE, OBJCREATED, LAST_USED_TIMESTAMP, DAYS_USED_COUNT,
       DECIMAL(OBJSIZE / 1024.0, 15, 1) AS TAILLE_KO
FROM TABLE(QSYS2.OBJECT_STATISTICS('QGPL', '*ALL')) O
WHERE LAST_USED_TIMESTAMP IS NULL OR LAST_USED_TIMESTAMP < CURRENT TIMESTAMP - 1 YEAR
ORDER BY OBJSIZE DESC
FETCH FIRST 10 ROWS ONLY

LAST_USED_TIMESTAMP est vide si l'objet n'a jamais servi. DAYS_USED_COUNT compte les jours d'utilisation depuis sa création ou la dernière remise à zéro.

Le résultat sur un IBM i 7.5

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

OBJNAME Nom de l'objet OBJTYPE Type de l'objet OBJCREATED Horodatage de création de l'objet LAST_USED_TIMESTAMP Horodatage de dernière utilisation DAYS_USED_COUNT Nombre de jours d'utilisation TAILLE_KO Taille (Ko)
POKEMO0001 *JRNRCV 2026-04-22 11:03:16.000000 NULL 0 836
POKEMO0002 *JRNRCV 2026-06-06 17:33:17.000000 NULL 0 836
POKEMO0003 *JRNRCV 2026-06-06 18:11:17.000000 NULL 0 836
POKEMO0004 *JRNRCV 2026-06-06 18:52:38.000000 NULL 0 836
LIVRE *FILE 2026-09-22 13:50:41.000000 NULL 0 656

Ici, des récepteurs de journal : par nature, ils ne sont jamais « utilisés » au sens de la date. Ce n'est pas pour autant qu'on peut les supprimer sans réfléchir.

Données anonymisées : les noms de système, de profils, de bibliothèques, de postes et les adresses IP ont été remplacés.

L'adapter à votre système

Attention : certains objets ne mettent pas à jour leur date d'utilisation (journaux, récepteurs, certaines zones de données). Vérifiez avant de supprimer, et sauvegardez d'abord.