Aller au contenu

Recette SQL IBM i (AS/400) · Stockage

La taille d'une bibliothèque et son nombre d'objets

La taille d'une bibliothèque IBM i, son nombre d'objets et sa journalisation en une requête, sans lancer DSPLIB.

Le besoin

Quelle place prend cette bibliothèque ? DSPLIB affiche les objets un par un sans total facile à récupérer ; LIBRARY_INFO le calcule directement.

La requête

SELECT OBJECT_COUNT, DECIMAL(LIBRARY_SIZE / 1048576.0, 15, 2) AS TAILLE_MO,
       LIBRARY_SIZE_COMPLETE, LIBRARY_TYPE, JOURNALED, JOURNAL_NAME, TEXT_DESCRIPTION
FROM TABLE(QSYS2.LIBRARY_INFO(LIBRARY_NAME => 'JOBISQL')) L

QSYS2.LIBRARY_INFO renvoie une ligne pour la bibliothèque : nombre d'objets, taille totale en octets, et si cette taille est complète (LIBRARY_SIZE_COMPLETE à NO quand des objets sont verrouillés ou inaccessibles).

Le résultat sur un IBM i 7.5

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

OBJECT_COUNT Nombre d'objets TAILLE_MO Taille (Mo) LIBRARY_SIZE_COMPLETE Indicateur de taille de bibliothèque complète LIBRARY_TYPE Type de bibliothèque JOURNALED Indicateur de journalisation JOURNAL_NAME Nom du journal TEXT_DESCRIPTION Texte descriptif
44 5.19 YES PROD YES QSQJRN Demonstrations des services SQL de job-i.fr

Notre bibliothèque de démonstration JOBISQL : 44 objets, 5 Mo, journalisée par QSQJRN.

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

Pour toutes les bibliothèques utilisateur, joignez avec la liste des bibliothèques : … FROM TABLE(QSYS2.OBJECT_STATISTICS('*ALLUSR', 'LIB')) L, LATERAL (SELECT … FROM TABLE(QSYS2.LIBRARY_INFO(L.OBJNAME))). C'est long : à lancer en batch.