Aller au contenu

Recette SQL IBM i (AS/400) · Stockage

Les plus gros fichiers d'un répertoire de l'IFS

Les plus gros fichiers d'un répertoire de l'IFS et de ses sous-répertoires, en Mo, avec leur dernière utilisation et leur propriétaire.

Le besoin

L'IFS se remplit de fichiers de logs, d'exports et de sauvegardes. WRKLNK ne trie pas par taille ; en SQL, oui.

La requête

SELECT PATH_NAME, OBJECT_TYPE, DECIMAL(DATA_SIZE / 1048576.0, 15, 2) AS TAILLE_MO,
       LAST_USED_TIMESTAMP, OBJECT_OWNER
FROM TABLE(QSYS2.IFS_OBJECT_STATISTICS(START_PATH_NAME => '/QIBM/ProdData/OS/SQLLIB',
                                       SUBTREE_DIRECTORIES => 'YES')) F
WHERE OBJECT_TYPE = '*STMF'
ORDER BY DATA_SIZE DESC
FETCH FIRST 10 ROWS ONLY

QSYS2.IFS_OBJECT_STATISTICS parcourt un répertoire (et ses sous-répertoires si SUBTREE_DIRECTORIES => 'YES'). DATA_SIZE est la taille en octets ; on ne garde que les fichiers (*STMF).

Le résultat sur un IBM i 7.5

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

PATH_NAME Chemin OBJECT_TYPE Type de l'objet TAILLE_MO Taille (Mo) LAST_USED_TIMESTAMP Horodatage de dernière utilisation OBJECT_OWNER Propriétaire de l'objet
/QIBM/ProdData/OS/SQLLIB/bin/xercesImpl.jar *STMF 1.37 2025-06-25 00:00:00 QSYS
/QIBM/ProdData/OS/SQLLIB/bin/spatiotemporal-core.jar *STMF 1.35 2025-10-15 00:00:00 QSYS
/QIBM/ProdData/OS/SQLLIB/bin/libsqlejext64.so *STMF 0.8 2026-10-01 00:00:00 QSYS
/QIBM/ProdData/OS/SQLLIB/bin/libsqlejext.so *STMF 0.68 2025-06-25 00:00:00 QSYS
/QIBM/ProdData/OS/SQLLIB/bin/QPZA_QSJ033405770SS10007R05M00505000000003 *STMF 0.59 2025-06-25 00:00:00 QSYS

Exemple sur un répertoire fourni par IBM, /QIBM/ProdData/OS/SQLLIB : les plus gros fichiers sont des bibliothèques du produit Db2, d'environ 1 Mo.

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

Visez vos répertoires applicatifs (/home, /tmp, vos dossiers d'échange). Évitez de partir de / : le parcours de tout l'IFS peut durer des heures.