Aller au contenu

Service SQL IBM i (AS/400) · Vue

QSYS2.SYSTMPSTG

Stockage temporaire par travail

Vue qui indique le stockage temporaire utilisé par chaque travail, par segment (bucket), avec la taille courante, la limite et le pic atteint.

À quoi ça sert

SYSTMPSTG décrit l'utilisation du stockage temporaire : numéro et nom du segment global (BUCKET_NUMBER, GLOBAL_BUCKET_NAME), travail concerné (nom, utilisateur, numéro), taille courante, limite et pic (BUCKET_CURRENT_SIZE, BUCKET_LIMIT_SIZE, BUCKET_PEAK_SIZE), statut du travail et heure de fin.

On l'emploie quand le stockage temporaire du système grossit sans explication : on identifie les travaux qui en consomment le plus. L'exemple d'IBM isole les dix plus gros consommateurs parmi les serveurs de base de données (QZDASOINIT, QZDASSINIT, QRWTSRVR, QSQSRVR), puis rapproche chaque travail de ses informations détaillées avec GET_JOB_INFO.

La colonne JOB_STATUS permet de ne garder que les travaux actifs.

Résultat réel sur un IBM i 7.5

Ce que nous avons exécuté :

WITH TOP_TMP_STG(BUCKET_CURRENT_SIZE, BUCKET_PEAK_SIZE, Q_JOB_NAME) 
 AS (SELECT BUCKET_CURRENT_SIZE, BUCKET_PEAK_SIZE, RTRIM(JOB_NUMBER) CONCAT '/' CONCAT 
     RTRIM(JOB_USER_NAME) CONCAT '/' CONCAT RTRIM(JOB_NAME) AS Q_JOB_NAME 
    FROM QSYS2.SYSTMPSTG 
    WHERE JOB_STATUS = '*ACTIVE' AND 
    JOB_NAME IN ('QZDASOINIT', 'QZDASSINIT', 'QRWTSRVR', 'QSQSRVR') 
    ORDER BY BUCKET_CURRENT_SIZE DESC 
    FETCH FIRST 10 ROWS ONLY) 
 SELECT BUCKET_CURRENT_SIZE, BUCKET_PEAK_SIZE, Q_JOB_NAME, V_SQL_STATEMENT_TEXT, B.* 
 FROM TOP_TMP_STG, TABLE(QSYS2.GET_JOB_INFO(Q_JOB_NAME)) B

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

BUCKET_CURRENT_SIZE Taille actuelle du compartiment de stockage temporaire BUCKET_PEAK_SIZE Taille maximale atteinte du compartiment de stockage temporaire Q_JOB_NAME V_SQL_STATEMENT_TEXT V_JOB_STATUS V_ACTIVE_JOB_STATUS V_ACTIVE_JOB_TYPE V_RUN_PRIORITY V_AUTHORIZATION_NAME V_SBS_NAME V_CPU_USED V_TEMP_STORAGE_USED_MB V_AUX_IO_REQUESTED V_PAGE_FAULTS V_CLIENT_WRKSTNNAME V_CLIENT_APPLNAME V_CLIENT_ACCTNG V_CLIENT_PROGRAMID V_CLIENT_USERID V_SQL_STMT_STATUS V_SQL_STMT_START_TIMESTAMP V_QUERY_OPTIONS_LIB_NAME V_CLIENT_IP_ADDRESS V_PJ_REUSE_COUNT V_PJ_MAXUSE_COUNT
359170048 360767488 968572/QUSER/QZDASOINIT WITH TOP_TMP_STG(BUCKET_CURRENT_SIZE, BUCKET_PEAK_SIZE, Q_JOB_NAME) AS (SELECT BUCKET_CURRENT_SIZE, BUCKET_PEAK_SIZE, RTRIM(JOB_NUMBER) CONCAT ? CONCAT RTRIM(JOB_USER_NAME) CONCAT ? CONCAT RTRIM(JOB_NAME) AS Q_JOB_NAME FROM QSYS2.SYSTMPSTG WHERE JOB_STATUS = ? AND JOB_NAME IN … *ACTIVE RUN PJ 20 UTIL232 QUSRWRK 384983 343 92850 42288 POSTE01 POSTE02 POSTE03 POSTE04 UTIL232 ACTIVE 2026-10-01 08:58:37.367428 NULL 127.0.0.1 54 200
256999424 257015808 969424/QUSER/QZDASOINIT SELECT * FROM QSYS2.RECORD_LOCK_INFO *ACTIVE RUN PJ 20 UTIL232 QUSRWRK 26881 245 87461 60681 POSTE01 POSTE02 POSTE03 POSTE04 UTIL232 ACTIVE 2026-10-01 08:57:41.649931 NULL 127.0.0.1 2 200
59609088 80654336 969044/QUSER/QZDASOINIT SET : H : H = : H : H - : H : H *ACTIVE TIMW PJ 20 UTIL128 QUSRWRK 223358 56 12911 1190 POSTE11 POSTE12 POSTE13 POSTE14 Leo Durand COMPLETE NULL NULL 192.0.2.12 13 200
34349056 84430848 969441/QUSER/QZDASOINIT NULL *ACTIVE PSRW PJ 20 QUSER QUSRWRK 29403 32 1725 132 NULL NULL NULL NULL NULL UNKNOWN NULL NULL NULL 2 200
31043584 31043584 817144/QUSER/QZDASOINIT Description de l'objet *ACTIVE TIMW PJ 20 UTIL238 QUSRWRK 346 29 368 101 NULL NULL NULL NULL NULL COMPLETE NULL NULL 127.0.0.1 2 200

Données anonymisées : les noms de système, de profils, de bibliothèques, de postes et les adresses IP ont été remplacés. Les objets du schéma JOBISQL sont des objets de démonstration créés pour ce site.

L'exemple d'IBM

Parmi les travaux serveurs de base de données, trouver les dix plus gros consommateurs de stockage temporaire et récupérer le détail de ces travaux.

-- Description: Looking at the database server jobs, find the 
-- top 10 consumers of temporary storage and retrieve 
-- details about those jobs. 
 WITH TOP_TMP_STG(BUCKET_CURRENT_SIZE, BUCKET_PEAK_SIZE, Q_JOB_NAME) 
 AS (SELECT BUCKET_CURRENT_SIZE, BUCKET_PEAK_SIZE, RTRIM(JOB_NUMBER) CONCAT '/' CONCAT 
     RTRIM(JOB_USER_NAME) CONCAT '/' CONCAT RTRIM(JOB_NAME) AS Q_JOB_NAME 
    FROM QSYS2.SYSTMPSTG 
    WHERE JOB_STATUS = '*ACTIVE' AND 
    JOB_NAME IN ('QZDASOINIT', 'QZDASSINIT', 'QRWTSRVR', 'QSQSRVR') 
    ORDER BY BUCKET_CURRENT_SIZE DESC 
    FETCH FIRST 10 ROWS ONLY) 
 SELECT BUCKET_CURRENT_SIZE, BUCKET_PEAK_SIZE, Q_JOB_NAME, V_SQL_STATEMENT_TEXT, B.* 
 FROM TOP_TMP_STG, TABLE(QSYS2.GET_JOB_INFO(Q_JOB_NAME)) B;

Colonnes renvoyées (10)

Afficher les 10 colonnes
ColonneTypeSignification
BUCKET_NUMBER INTEGER Numéro du compartiment de stockage temporaire
GLOBAL_BUCKET_NAME VARCHAR(30) Nom du compartiment global
JOB_NAME VARCHAR(10) Nom du travail
JOB_USER_NAME VARCHAR(10) Profil utilisateur du travail
JOB_NUMBER CHAR(6) Numéro du travail
BUCKET_CURRENT_SIZE DECIMAL(23, 0) Taille actuelle du compartiment de stockage temporaire
BUCKET_LIMIT_SIZE DECIMAL(23, 0) Limite de taille du compartiment de stockage temporaire
BUCKET_PEAK_SIZE DECIMAL(23, 0) Taille maximale atteinte du compartiment de stockage temporaire
JOB_STATUS VARCHAR(7) Statut du travail
JOB_ENDED_TIME TIMESTAMP Horodatage de fin du travail