Aller au contenu

Service SQL IBM i (AS/400) · Fonction table

QSYS2.GET_JOB_INFO

Détails d'un travail, y compris son SQL

Renvoie pour un travail donné son statut, sa consommation et l'instruction SQL en cours : l'équivalent SQL d'un WRKJOB ciblé.

À quoi ça sert

La fonction prend un nom de travail qualifié (V_JOB_NAME) et renvoie une ligne : statut du travail, type, priorité d'exécution, profil, sous-système, temps processeur, stockage temporaire en Mo, E/S auxiliaires, défauts de page, ainsi que les informations d'identification du client (poste, application, adresse IP). Elle donne aussi le texte de l'instruction SQL en cours (V_SQL_STATEMENT_TEXT), son statut et son horodatage de début, et pour les travaux prédémarrés le nombre de réutilisations.

Le paramètre V_IGNORE_ERRORS (défaut NO) contrôle le comportement quand le travail est introuvable ou inaccessible. Dans l'exemple d'IBM, la fonction est appelée en jointure latérale pour chaque travail de ACTIVE_JOB_INFO, ce qui permet de repérer les travaux dont une instruction SQL tourne en ce moment, triés par durée.

Le SQL apporte ici la jointure : on enchaîne ACTIVE_JOB_INFO pour la sélection, puis GET_JOB_INFO pour le détail du SQL, sans écran de visualisation de travail à ouvrir un par un.

Résultat réel sur un IBM i 7.5

Ce que nous avons exécuté :

WITH ACTIVE_USER_JOBS (Q_JOB_NAME, CPU_TIME, RUN_PRIORITY) AS ( 
 SELECT 
  JOB_NAME, CPU_TIME, RUN_PRIORITY 
  FROM TABLE (ACTIVE_JOB_INFO()) x 
 WHERE JOB_TYPE <> 'SYS' 
 ) SELECT Q_JOB_NAME, CPU_TIME, RUN_PRIORITY, V_SQL_STATEMENT_TEXT, 
 ABS( CURRENT TIMESTAMP - V_SQL_STMT_START_TIMESTAMP ) AS SQL_STMT_DURATION, B.* 
 FROM ACTIVE_USER_JOBS, TABLE(QSYS2.GET_JOB_INFO(Q_JOB_NAME)) B 
 WHERE V_SQL_STMT_STATUS = 'ACTIVE' 
 ORDER BY SQL_STMT_DURATION DESC

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

Q_JOB_NAME CPU_TIME RUN_PRIORITY V_SQL_STATEMENT_TEXT Texte de l'instruction SQL SQL_STMT_DURATION V_JOB_STATUS Statut du travail V_ACTIVE_JOB_STATUS Statut du travail actif V_ACTIVE_JOB_TYPE Type du travail actif V_RUN_PRIORITY Priorité d'exécution V_AUTHORIZATION_NAME Profil utilisateur V_SBS_NAME Nom du sous-système V_CPU_USED Temps CPU utilisé V_TEMP_STORAGE_USED_MB Stockage temporaire utilisé (Mo) V_AUX_IO_REQUESTED Nombre d'E/S auxiliaires demandées V_PAGE_FAULTS Nombre de défauts de page V_CLIENT_WRKSTNNAME Nom du poste de travail client V_CLIENT_APPLNAME Nom de l'application cliente V_CLIENT_ACCTNG Information de comptabilité du client V_CLIENT_PROGRAMID Identifiant du programme client V_CLIENT_USERID Identifiant de l'utilisateur client V_SQL_STMT_STATUS Statut de l'instruction SQL V_SQL_STMT_START_TIMESTAMP Horodatage de début de l'instruction SQL V_QUERY_OPTIONS_LIB_NAME Bibliothèque du fichier d'options de requête V_CLIENT_IP_ADDRESS Adresse IP du client V_PJ_REUSE_COUNT Nombre de réutilisations du travail prédémarré V_PJ_MAXUSE_COUNT Nombre maximal d'utilisations du travail prédémarré
969441/QUSER/QZDASOINIT 5746 20 SELECT AUTHORIZATION_NAME P, USER_CLASS_NAME C, SPECIAL_AUTHORITIES A, CURRENT_LIBRARY_NAME L, JOB_DESCRIPTION_NAME J, JOB_DESCRIPTION_LIBRARY_NAME JL, OUTPUT_QUEUE_NAME OQ, LIMIT_CAPABILITIES LC, STATUS ST FROM QSYS2.USER_INFO WHERE CREATION_TIMESTAMP >= ? AND (CURRENT_LIBRARY_NAME=… 14.434229 *ACTIVE RUN PJ 20 UTIL232 QUSRWRK 5818 37 209 93 POSTE01 POSTE02 POSTE03 POSTE04 UTIL232 ACTIVE 2026-10-01 08:56:56.791045 NULL 127.0.0.1 2 200
969424/QUSER/QZDASOINIT 1609 20 SELECT AUTHORIZATION_NAME, STATUS, NO_PASSWORD_INDICATOR, PREVIOUS_SIGNON, TEXT_DESCRIPTION FROM QSYS2.USER_INFO WHERE SPECIAL_AUTHORITIES LIKE ? OR AUTHORIZATION_NAME IN ( SELECT USER_PROFILE_NAME FROM QSYS2.GROUP_PROFILE_ENTRIES WHERE GROUP_PROFILE_NAME IN ( SELECT AUTHORIZATION_NA… 0.057846 *ACTIVE RUN PJ 20 UTIL232 QUSRWRK 1665 134 48819 46964 POSTE01 POSTE02 POSTE03 POSTE04 UTIL232 ACTIVE 2026-10-01 08:57:11.283120 NULL 127.0.0.1 2 200
968572/QUSER/QZDASOINIT 375496 20 Description de l'objet 4.5E-5 *ACTIVE RUN PJ 20 UTIL232 QUSRWRK 375515 253 36523 12896 POSTE01 POSTE02 POSTE03 POSTE04 UTIL232 ACTIVE 2026-10-01 08:57:11.225229 NULL 127.0.0.1 54 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

Trouver les travaux dont une instruction SQL est en cours d'exécution.

-- Description: Find the jobs with SQL statements executing 
 WITH ACTIVE_USER_JOBS (Q_JOB_NAME, CPU_TIME, RUN_PRIORITY) AS ( 
 SELECT 
  JOB_NAME, CPU_TIME, RUN_PRIORITY 
  FROM TABLE (ACTIVE_JOB_INFO()) x 
 WHERE JOB_TYPE <> 'SYS' 
 ) SELECT Q_JOB_NAME, CPU_TIME, RUN_PRIORITY, V_SQL_STATEMENT_TEXT, 
 ABS( CURRENT TIMESTAMP - V_SQL_STMT_START_TIMESTAMP ) AS SQL_STMT_DURATION, B.* 
 FROM ACTIVE_USER_JOBS, TABLE(QSYS2.GET_JOB_INFO(Q_JOB_NAME)) B 
 WHERE V_SQL_STMT_STATUS = 'ACTIVE' 
 ORDER BY SQL_STMT_DURATION DESC;

Bon à savoir

L'appel est fait travail par travail : appliquer la fonction à tous les travaux actifs d'un gros système coûte cher. Filtre d'abord avec ACTIVE_JOB_INFO, comme le fait l'exemple (JOB_TYPE <> 'SYS').

Paramètres

ParamètreTypePar défautSignification
V_JOB_NAME VARCHAR(28) obligatoire Nom qualifié du travail
V_IGNORE_ERRORS VARCHAR(3) 'NO' Ignorer les erreurs

Colonnes renvoyées (22)

Afficher les 22 colonnes
ColonneTypeSignification
V_JOB_STATUS CHAR(10) Statut du travail
V_ACTIVE_JOB_STATUS CHAR(4) Statut du travail actif
V_ACTIVE_JOB_TYPE VARCHAR(3) Type du travail actif
V_RUN_PRIORITY INTEGER Priorité d'exécution
V_AUTHORIZATION_NAME VARCHAR(10) Profil utilisateur
V_SBS_NAME CHAR(10) Nom du sous-système
V_CPU_USED BIGINT Temps CPU utilisé
V_TEMP_STORAGE_USED_MB INTEGER Stockage temporaire utilisé (Mo)
V_AUX_IO_REQUESTED BIGINT Nombre d'E/S auxiliaires demandées
V_PAGE_FAULTS BIGINT Nombre de défauts de page
V_CLIENT_WRKSTNNAME CHAR(255) Nom du poste de travail client
V_CLIENT_APPLNAME CHAR(255) Nom de l'application cliente
V_CLIENT_ACCTNG CHAR(255) Information de comptabilité du client
V_CLIENT_PROGRAMID CHAR(255) Identifiant du programme client
V_CLIENT_USERID CHAR(255) Identifiant de l'utilisateur client
V_SQL_STATEMENT_TEXT VARCHAR(10000) Texte de l'instruction SQL
V_SQL_STMT_STATUS CHAR(8) Statut de l'instruction SQL
V_SQL_STMT_START_TIMESTAMP TIMESTAMP Horodatage de début de l'instruction SQL
V_QUERY_OPTIONS_LIB_NAME CHAR(10) Bibliothèque du fichier d'options de requête
V_CLIENT_IP_ADDRESS VARCHAR(45) Adresse IP du client
V_PJ_REUSE_COUNT INTEGER Nombre de réutilisations du travail prédémarré
V_PJ_MAXUSE_COUNT INTEGER Nombre maximal d'utilisations du travail prédémarré