Aller au contenu

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.