Recette SQL IBM i (AS/400) · Stockage
Les plus gros objets d'une bibliothèque
Les 10 plus gros objets d'une bibliothèque, en mégaoctets, avec leur type, leur dernière utilisation et leur propriétaire.
Le besoin
Une bibliothèque grossit : quels objets prennent la place ? Souvent des fichiers de sauvegarde (*SAVF) oubliés, des journaux ou des fichiers de travail.
La requête
SELECT OBJNAME, OBJTYPE, OBJATTRIBUTE, DECIMAL(OBJSIZE / 1048576.0, 15, 2) AS TAILLE_MO,
LAST_USED_TIMESTAMP, OBJOWNER
FROM TABLE(QSYS2.OBJECT_STATISTICS('QGPL', '*ALL')) O
ORDER BY OBJSIZE DESC
FETCH FIRST 10 ROWS ONLY
QSYS2.OBJECT_STATISTICS liste les objets d'une bibliothèque avec leur taille OBJSIZE en octets. Le tri décroissant et la division par 1 048 576 donnent les plus gros, en Mo.
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 | OBJATTRIBUTE Attribut de l'objet | TAILLE_MO Taille (Mo) | LAST_USED_TIMESTAMP Horodatage de dernière utilisation | OBJOWNER Propriétaire de l'objet |
|---|---|---|---|---|---|
| BIBAPP112 | *FILE | SAVF | 463.55 | 2026-09-03 00:00:00.000000 | QSECOFR |
| SAVDUPONT | *FILE | SAVF | 183.02 | 2026-09-16 00:00:00.000000 | UTIL238 |
| AS25F2 | *FILE | SAVF | 97.73 | 2026-09-03 00:00:00.000000 | QSECOFR |
| SAVAIT | *FILE | SAVF | 61.02 | 2026-09-03 00:00:00.000000 | DUPONT |
| BIBAPP281 | *FILE | SAVF | 56.41 | 2026-09-03 00:00:00.000000 | QSECOFR |
Dans QGPL, ce sont des fichiers de sauvegarde (SAVF) de plusieurs centaines de Mo : le cas le plus fréquent.
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
Remplacez '*ALL' par un type ('*FILE', '*PGM') pour cibler. '*ALLUSR' à la place de la bibliothèque parcourt toutes les bibliothèques utilisateur, ce qui est beaucoup plus long.