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
| Colonne | Type | Signification |
|---|---|---|
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 |