, Nouvelle vue SYSMEMBERSTAT

Avec TR4 de la version V7R5 est arrivée la vue SYSMEMBERSTAT qui permet d’avoir des statistiques sur les membres, des informations supplémentaires à celles existantes à ce jour.

Voici un exemple :

SELECT TABLE_SCHEMA,
       TABLE_NAME,
       SYSTEM_TABLE_MEMBER,
       SOURCE_TYPE,
       LAST_CHANGE_TIMESTAMP,
       LAST_SAVE_TIMESTAMP,
       NUMBER_ROWS,
       OPEN_OPERATIONS,
       CLOSE_OPERATIONS,
       INSERT_OPERATIONS
    FROM QSYS2.SYSMEMBERSTAT
    WHERE table_schema = 'GMODERN'
          AND last_change_timestamp > CURRENT DATE - 1 MONTH
          AND SOURCE_TYPE IS NOT null
    ORDER BY last_change_timestamp DESC

Résultat

Rappel :

Il existe déjà une vue SYSPARTITIONSTAT qui donne sensiblement les mêmes informations.

Et ne rêvez pas, vous n’avez toujours pas le dernier utilisateur qui a modifié.

EDIT 2026/05/25 :

Il existe une différence notable entre SYSMEMBERSTAT et SYSPARTITIONSTAT

Ce sont deux vues définies ainsi :

QSYS2/SYSMEMBERSTAT :
SELECT A.DBXLB2,
A.DBXLFI,

B.APPLY_STARTING_RECEIVER
FROM QSYS/QADBXREF A,
LATERAL (
SELECT *
FROM TABLE (
QSYS2.PARTITION_STATISTICS(A.DBXLIB, A.DBXFIL)
) AS X
) AS B
WHERE A.DBXATR IN ('TB', 'PF', 'MQ') AND
B.PARTITION_NUMBER <> 0

QSYS2/SYSPARTITIONSTAT :
SELECT A.DBXLB2,
A.DBXLFI,

CHAR(COALESCE(B.SYSTEM_TABLE_MEMBER, ''), 10)
FROM QSYS/QADBXREF A,
LATERAL (
SELECT *
FROM TABLE (
QSYS2.PARTITION_STATISTICS(A.DBXLIB, A.DBXFIL)
) AS X
) AS B
WHERE A.DBXATR IN ('TB', 'PF', 'MQ') AND
A.DBXREL = 'Y' AND
B.PARTITION_NUMBER <> 0

La différence porte donc sur QSYS/QADBXREF.DBXREL qui doit être à ‘Y’ pour apparaitre dans SYSPARTITIONSTAT. Ce ‘Y’ indique que le format du fichier est constitué de plus d’un champ :

Créer un fichier sans DDS tel que : CRTPF FILE(NK/WORKFILE) RCDLEN(100)

fera que le fichier NK/WORKFILE sera invisible par SYSPARTITIONSTAT mais bien présent dans la vue SYSMEMBERSTAT

NB : Un fichier PF-SRC a 3 champs il apparait donc aussi dans SYSPARTITIONSTAT

Merci à Nicolas pour sa participation !