Service SQL IBM i (AS/400) · Fonction table
QSYS2.JOB_LOCK_INFO
Verrous détenus par un travail
Liste les verrous d'objets et d'enregistrements détenus ou attendus par un travail : l'équivalent SQL de l'option des verrous de WRKJOB.
À quoi ça sert
La fonction de table prend un nom de travail (JOB_NAME, la valeur '*' désigne le travail courant) et renvoie une ligne par verrou : catégorie, bibliothèque, nom, type et attribut de l'objet, état et statut du verrou, nombre de verrous, portée, et pour les fichiers base de données, le membre concerné et le type de verrou sur ce membre.
Elle répond aux questions de blocage : quel objet ce travail tient-il verrouillé, sur quoi attend-il. Le paramètre INTERNAL_OBJECTS (défaut NO) permet d'inclure les objets internes, et IGNORE_ERRORS (défaut YES) évite l'échec en cas de travail illisible.
Pour les verrous du point de vue d'un objet plutôt que d'un travail, voir QSYS2.OBJECT_LOCK_INFO, et pour les verrous d'enregistrements QSYS2.RECORD_LOCK_INFO.
Résultat réel sur un IBM i 7.5
Ce que nous avons exécuté :
SELECT * FROM TABLE(QSYS2.JOB_LOCK_INFO('*'))
Ce que l'IBM i a renvoyé le 01/10/2026 (5 lignes au plus) :
| LOCK_CATEGORY Catégorie du verrou | OBJECT_LIBRARY Bibliothèque de l'objet | OBJECT_NAME Nom de l'objet | OBJECT_TYPE Type de l'objet | OBJECT_ATTRIBUTE Attribut de l'objet | LOCK_STATE État du verrou | LOCK_STATUS Statut du verrou | LOCK_COUNT Nombre de verrous | LOCK_SCOPE Portée du verrou | MEMBER_LOCKS Verrous sur les membres | MEMBER_NAME Nom du membre | MEMBER_LOCK_TYPE Type de verrou du membre | SPACE_LOCATION_LOCK_OFFSET Décalage du verrou dans l'espace | LOCK_SPACE_ID Identifiant de l'espace de verrouillage | THREAD_ID Identifiant de l'unité d'exécution | THREAD_HANDLE Descripteur de l'unité d'exécution | ASP_NAME Nom de l'ASP | ASP_NUMBER Numéro de l'ASP | OBJECT_LOCK_HANDLE Identifiant de verrou sur l'objet | LOCK_REQUEST_HANDLE Descripteur de la demande de verrou |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| EXTERNAL | QSYS2 | ESA_INFO | *FILE | LF | *SHRRD | HELD | 1 | JOB | 1 | NULL | NULL | NULL | NULL | NULL | NULL | *SYSBAS | 1 | D8E6C3D9D6D7E3D900000000000002E0000E000100079700AFFC08D1815AD0010000011000000000000000000000000000000000000000000000000006000000 | D8E6C3D9E2D7E3D900000000000002E0000E000100079700AFFC08D1815AD00100000110000000000C8000000000000000F2377028A9013FC000000000000000 |
| MEMBER | QSYS2 | ESA_INFO | *FILE | NULL | *SHRRD | HELD | 1 | JOB | 0 | ESA_INFO | MEMBER | NULL | NULL | NULL | NULL | *SYSBAS | 1 | D8E6C3D9D6D7E3D900000000000002E0000E000100079700AFFC08D1815AD001000000B000000000000000000000000000000000000000000000000006000000 | D8E6C3D9E2D7E3D900000000000002E0000E000100079700AFFC08D1815AD001000000B0000000000C8000000000000000F2377028A9013FC000000000000000 |
| EXTERNAL | QSYS2 | QASQRESL | *FILE | LF | *SHRRD | HELD | 1 | JOB | 1 | NULL | NULL | NULL | NULL | NULL | NULL | *SYSBAS | 1 | D8E6C3D9D6D7E3D900000000000002E0000E000100079700AFFC08D1815AD0010000010000000000000000000000000000000000000000000000000006000000 | D8E6C3D9E2D7E3D900000000000002E0000E000100079700AFFC08D1815AD00100000100000000000C8000000000000000F2377028A9013FC000000000000000 |
| MEMBER | QSYS2 | QASQRESL | *FILE | NULL | *SHRRD | HELD | 1 | JOB | 0 | QASQRESL | MEMBER | NULL | NULL | NULL | NULL | *SYSBAS | 1 | D8E6C3D9D6D7E3D900000000000002E0000E000100079700AFFC08D1815AD0010000007000000000000000000000000000000000000000000000000006000000 | D8E6C3D9E2D7E3D900000000000002E0000E000100079700AFFC08D1815AD00100000070000000000C8000000000000000F2377028A9013FC000000000000000 |
| EXTERNAL | QSYS | QGPL | *LIB | PROD | *SHRRD | HELD | 1 | JOB | NULL | NULL | NULL | NULL | NULL | NULL | NULL | *SYSBAS | 1 | D8E6C3D9D6D7E3D900000000000002E0000E000100079700AFFC08D1815AD0010000019000000000000000000000000000000000000000000000000006000000 | D8E6C3D9E2D7E3D900000000000002E0000E000100079700AFFC08D1815AD00100000190000000000C8000000000000000F2377028A9013FC000000000000000 |
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
Récupérer les informations sur les verrous du travail courant.
-- Description: Retrieve information about locks for the current job.
SELECT * FROM TABLE(QSYS2.JOB_LOCK_INFO('*'));
Paramètres
| Paramètre | Type | Par défaut | Signification |
|---|---|---|---|
JOB_NAME |
VARCHAR(28) | obligatoire | Nom du travail |
INTERNAL_OBJECTS |
VARCHAR(3) | 'NO' | Objets internes |
IGNORE_ERRORS |
VARCHAR(3) | 'YES' | Ignorer les erreurs |
Colonnes renvoyées (20)
Afficher les 20 colonnes
| Colonne | Type | Signification |
|---|---|---|
LOCK_CATEGORY |
VARCHAR(23) | Catégorie du verrou |
OBJECT_LIBRARY |
VARCHAR(10) | Bibliothèque de l'objet |
OBJECT_NAME |
VARCHAR(30) | Nom de l'objet |
OBJECT_TYPE |
VARCHAR(7) | Type de l'objet |
OBJECT_ATTRIBUTE |
VARCHAR(10) | Attribut de l'objet |
LOCK_STATE |
VARCHAR(7) | État du verrou |
LOCK_STATUS |
VARCHAR(17) | Statut du verrou |
LOCK_COUNT |
INTEGER | Nombre de verrous |
LOCK_SCOPE |
VARCHAR(10) | Portée du verrou |
MEMBER_LOCKS |
INTEGER | Verrous sur les membres |
MEMBER_NAME |
VARCHAR(10) | Nom du membre |
MEMBER_LOCK_TYPE |
VARCHAR(11) | Type de verrou du membre |
SPACE_LOCATION_LOCK_OFFSET |
BIGINT | Décalage du verrou dans l'espace |
LOCK_SPACE_ID |
BINARY(20) | Identifiant de l'espace de verrouillage |
THREAD_ID |
BIGINT | Identifiant de l'unité d'exécution |
THREAD_HANDLE |
INTEGER | Descripteur de l'unité d'exécution |
ASP_NAME |
VARCHAR(10) | Nom de l'ASP |
ASP_NUMBER |
INTEGER | Numéro de l'ASP |
OBJECT_LOCK_HANDLE |
BINARY(64) | Identifiant de verrou sur l'objet |
LOCK_REQUEST_HANDLE |
BINARY(64) | Descripteur de la demande de verrou |