IRLMCONT request cannot be executed as a batch job within Sysview for Db2
search cancel

IRLMCONT request cannot be executed as a batch job within Sysview for Db2

book

Article ID: 10945

calendar_today

Updated On:

Products

SYSVIEW Performance Management Option for DB2 for z/OS

Issue/Introduction

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.

Resolution

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)