Il totale della libreria:
SELECT OBJECT_COUNT, LIBRARY_SIZE / 1024 / 1024 AS MB, LIBRARY_SIZE_COMPLETE
FROM TABLE(QSYS2.LIBRARY_INFO('PRODLIB'))
LIBRARY_SIZE è in byte e comprende gli oggetti e la libreria stessa; sopra il miliardo di
byte è arrotondato. Se LIBRARY_SIZE_COMPLETE vale NO, qualche oggetto è rimasto fuori
perché bloccato o perché non si hanno diritti su di esso. IBM avverte che su una libreria con
molti oggetti il calcolo può richiedere tempo.
Ma il totale serve poco: quello che interessa è chi occupa spazio.
SELECT OBJNAME, OBJTYPE,
OBJSIZE / 1024 / 1024 AS MB,
LAST_USED_TIMESTAMP
FROM TABLE(QSYS2.OBJECT_STATISTICS('PRODLIB', '*ALL'))
ORDER BY OBJSIZE DESC
FETCH FIRST 20 ROWS ONLY
Le librerie più grandi del sistema, quando non si sa da dove partire:
SELECT L.OBJNAME AS LIBRERIA, I.LIBRARY_SIZE / 1024 / 1024 AS MB
FROM TABLE(QSYS2.OBJECT_STATISTICS('QSYS', '*LIB')) L,
TABLE(QSYS2.LIBRARY_INFO(L.OBJNAME)) I
ORDER BY I.LIBRARY_SIZE DESC
FETCH FIRST 20 ROWS ONLY
Calcola la dimensione di ogni libreria del sistema, quindi è lenta: va lanciata quando si ha
tempo. Ordinare le librerie per OBJSIZE di OBJECT_STATISTICS non serve, perché quella è
la dimensione dell'oggetto libreria, non del suo contenuto.
Esempio: la libreria che cresce e nessuno sa perché
Sapere che PRODLIB occupa 40 GB non dice niente. Sapere che sei mesi fa ne occupava 28, e quali oggetti hanno preso i 12 GB di differenza, dice tutto.
Una fotografia al mese, in una tabella creata dalla query stessa:
CREATE TABLE MIALIB/STORDIM AS (
SELECT CURRENT DATE AS RILEVATO, OBJNAME, OBJTYPE, OBJSIZE
FROM TABLE(QSYS2.OBJECT_STATISTICS('PRODLIB', '*ALL'))
) WITH NO DATA
Poi il confronto fra due fotografie, che è la query che serve davvero:
SELECT o.OBJNAME, o.OBJTYPE,
n.OBJSIZE - o.OBJSIZE AS CRESCITA
FROM MIALIB/STORDIM o
JOIN MIALIB/STORDIM n
ON n.OBJNAME = o.OBJNAME AND n.OBJTYPE = o.OBJTYPE
WHERE o.RILEVATO = '2026-02-01'
AND n.RILEVATO = '2026-08-01'
ORDER BY CRESCITA DESC
FETCH FIRST 20 ROWS ONLY
La risposta può essere, per esempio, un file di log applicativo che nessuno svuota, o una tabella di lavoro che doveva essere temporanea.
Suggerimento
la colonna LAST_USED_TIMESTAMP insieme alla dimensione è la coppia che
serve davvero. Un oggetto grande e usato ieri non si tocca; uno grande e mai usato da tre
anni è il primo candidato.
Rilasci. OBJECT_STATISTICS e LIBRARY_INFO sono nella documentazione IBM di 7.5. Se
una delle due risponde SQL0204 su un rilascio più vecchio, il totale di una libreria lo dà
anche RTVLIBD, di cui LIBRARY_INFO è l'equivalente SQL.
Commenti
Nessun commento ancora. Sii il primo a commentare!
Devi avere un account per commentare. Accedi · Registrati