Supponiamo di voler tenere sotto controllo i file (dovremmo abituarci a chiamarle Tabelle, come il resto del mondo!) di un elenco di librerie di dati, di volerne vedere le dimensioni, il numero di record e il numero di record cancellati (calcolando una eventuale dimensione dell’oggetto dopo una eventuale reorganize (RGZPFM)).
Con un semplice query come questo possiamo avere l’elenco delle top 100 tabelle che “mangiano” più spazio di tre liberie indicate in una temporary table da mettere in Cross Join Lateral con la UDTF object_statistics e la systablestat:
SELECT *
FROM (
VALUES('FAQ400'),('QGPL'),('SAMPLEDB')
) t(LibraryToCheck)
cross join lateral
(select objlongschema, objname, objlongname, objtype, objattribute, objowner, objcreated, cast(objsize/1000000 as integer) as ObjSizeMB,
int(objsize/(NUMBER_ROWS + NUMBER_DELETED_ROWS)*NUMBER_ROWS/1000000) as AfterReorgize, b.last_used_timestamp, number_rows, number_deleted_rows, objtext FROM TABLE(QSYS2.OBJECT_STATISTICS(t.LibraryToCheck, '*ALL')) a
left join qsys2.systablestat b on a.objname=b.system_table_name and a.objlongschema=b.table_schema
)
order by objsizeMB desc
fetch first 100 rows only;
Con questo post voglio consigliarti la lettura di questo articolo di Giancarlo Lui sulla TechXChange Community: IBM i System Management:…
Nel suo recente articolo "Option *convert in RPG Free" , Aldo Succi esplora l'opzione *CONVERT nel linguaggio RPG, evidenziando come…
Guida pratica all'aggiornamento dei certificati Java e DCM per consumo web services via SQL HTTPGETCLOB e HTTP_GET.
Riceviamo e pubblichiamo ben volentieri questo "tip & trick" di Patrick Rizzi che presenta una tecnica che permette di intervenire…
Prendo spunto da una risposta di Michael Mayer sulle mailing list di Midrange.com a chi chiedeva come monitorare i messaggi…
Le imprese sono sempre più alla ricerca di strumenti che possano migliorare l'efficienza, la collaborazione e la gestione delle risorse.…