The Sysview Performance Management Option for Db2 for z/OS (IDB2) IRLMCONT request cannot be executed as a batch job and it has to be
executed only in online panels. This is difficult as you cannot be all the time monitoring the output of the request.
IRLMCONT request can be updated to include a WHERE clause and then refresh the output of the report every 30 seconds,
then the output report can be printed to a data set, when the request is stopped you can review the data set for the report created.
The following sample is an update of IRLMCONT request to accomplish these functions, to avoid confusions the new request is called IRLTEST.
* (unqualified) Trace Lock Contentions in the IRLM
* there were some declares here that match the stuff in IRLMCONT
* no need to re-declare them
IRLMTEST: TRACE (COLFMT=YES SL=1 LS=160)
<<*IRLM-CONTENTIONS
'_' (AT=M HELP=ICONTSLT)
'HOLD' (AT=W,HD='Stat')
' ' (HD='Time ')
SUBSYS (HD='DB2')
HOLDER-PLAN-NAME (HD='Plan')
HOLDER-CORR-ID (HD='CorrID')
HOLDER-LOCK-TYPE (HD='LockType')
HOLDER-LOCK-STATE (HD='Lvl')
HOLDER-RESOURCE (HD='Resource')
HOLDER-CONN-NAME (HD='ConnName')
HOLDER-AUTH-ID (HD='AuthID')
HOLDER-LOCK-DUR (HD='Duration')
HOLDER-DBID (HD='DBID')
HOLDER-OBID (HD='OBID')
LOCK-TYPE-PORL-LONG (HD='Phys/Log')
KEY(
#IF DATASHR
DATASHR-KEY,
SUBSYS,
#IFEND
THREAD-CANCEL,
IHLCKACE,
HOLDER-PLAN-NAME,
HOLDER-CONN-NAME,
HOLDER-CORR-ID,
HOLDER-AUTH-ID)
>>
<<*IRLM-CONTENTIONS
'_' (AT=M HELP=ICONTSLT)
'WAIT' (AT=R,HD='Stat')
WAITER-SUSPEND-ELAPSED (AT=R,PF=N3.1,HD='Time ')
SUBSYS (HD='DB2')
WAITER-PLAN-NAME (HD='Plan')
WAITER-CORR-ID (HD='CorrID')
WAITER-LOCK-TYPE (HD='LockType')
WAITER-LOCK-STATE (HD='Lvl')
WAITER-RESOURCE (HD='Resource')
WAITER-CONN-NAME (HD='ConnName')
WAITER-AUTH-ID (HD='AuthID')
WAITER-LOCK-DUR (HD='Duration')
WAITER-DBID (HD='DBID')
WAITER-OBID (HD='OBID')
WAITER-PORL-LONG (HD='Phys/Log')
KEY(
#IF DATASHR
DATASHR-KEY,
SUBSYS,
#IFEND
THREAD-CANCEL,
IWLCKACE,
WAITER-PLAN-NAME,
WAITER-CONN-NAME,
WAITER-CORR-ID,
WAITER-AUTH-ID)
>>
WHERE ANY(WAITER-SUSPEND-ELAPSED > 30 SECONDS)
TITLE = ('Current Lock Contentions')
FOCUS-KEY = NO
INTERVAL 15 seconds
NEVENTS = 4
DATASHAREABLE
PRINT DSN ('PREFIX.DATA.SET.PRINT') NEW CYL SPACE(50,10)