Scoprire chi tiene bloccato un oggetto

Accedi per salvare

Il modo diretto, da riga comandi:

WRKOBJLCK OBJ(PRODLIB/ARTICOLI) OBJTYPE(*FILE)

Lo stesso in SQL, utile quando serve raccogliere il dato in un programma o guardare più oggetti insieme:

SELECT JOB_NAME, LOCK_STATE, LOCK_STATUS, LOCK_SCOPE
  FROM QSYS2.OBJECT_LOCK_INFO
 WHERE SYSTEM_OBJECT_SCHEMA = 'PRODLIB'
   AND SYSTEM_OBJECT_NAME   = 'ARTICOLI'

Per i membri di un file database il lock può essere sul singolo membro:

WRKOBJLCK OBJ(PRODLIB/ARTICOLI) OBJTYPE(*FILE) MBR(*ALL)

Nota

un lock tenuto da una sessione interattiva è quasi sempre una transazione aperta e dimenticata, non un guasto. Prima di terminare il job conviene chiedere: chiuderlo con ENDJOB mentre una transazione è aperta lascia il lavoro a metà e obbliga a un ripristino.


Rilasci. WRKOBJLCK c'è su qualunque rilascio. La vista QSYS2.OBJECT_LOCK_INFO è più recente ed è arrivata con gli IBM i Services: se manca, la query risponde SQL0204 e resta il comando, che dà la stessa informazione a schermo.

← Torna al blog

Commenti

Nessun commento ancora. Sii il primo a commentare!

Devi avere un account per commentare. Accedi · Registrati