0

An overnight job encountered a locking error on updating a record in DB2 10 for z/OS. I've been asked to inspect the DB2 logs to hopefully find more information on what was locking the table. Since I have the timestamp of the failure, how can I look at the DB2 log for a specific time-period?

Thanks for your help!

Dave

Dave Ford
  • 341
  • 2
  • 14

1 Answers1

1

If you look in SDSF DA, there should be an entry for *MSTR (e.g., if your DB2 subsystem name is DB2P for your production DB2, then you'd look at DB2PMSTR). If you look at the JESMSGLG of that task, the DB2 logs you are interested will be in there. There should be a DSNT375I (deadlock) or DSNT376I (timeout) entry that will look something like the below (the format is slightly different between the two).

The two error messages will also have a DSNT501I error associated with it that will tell you what the "fight" was over.

12.48.05 STC30099  DSNT376I  -DB2P PLAN=DISTSERV WITH  798                      
   798                     CORRELATION-ID=program.exe                              
   798                     CONNECTION-ID=SERVER                                 
   798                     LUW-ID=GA5D2A01.CE00.200429174636=79816              
   798                                                                          
   798             THREAD-INFO=logon_username:server_name:logon_username:program.exe:DYNAMIC:7522055:*:<10
   798             .93.42.1.52736.200429174636>                                 
   798                     IS TIMED OUT. ONE HOLDER OF THE RESOURCE IS PLAN=plan WITH
   798                     CORRELATION-ID=ENTRabcdefgh                          
   798                     CONNECTION-ID=CICSzyxw                               
   798                     LUW-ID=USDTCN00.ALDB2P00.D7D81AEAB200=43579          
   798                     THREAD-INFO=CICSzyxw:*:*:ENTRabcd:STATIC:9507687:*:* 
   798                     ON MEMBER DB2P                                       
12.48.05 STC30099  DSNT501I  -DB2P DSNILMCL RESOURCE UNAVAILABLE  799           
   799                        CORRELATION-ID=program.exe                           
   799                        CONNECTION-ID=SERVER                              
   799                        LUW-ID=GA5D2A01.CE00.200429174636=79816           
   799                        REASON 00C9008E                                   
   799                        TYPE 00000304                                     
   799                        NAME DBNAME .TBSPACE  .X'abcdefg12'.X'11'          

In my example, program.exe (logged on as user logon_username from client server_name) was trying to access a page (Identified by X'abcdefg12'.X'11') in database DBNAME, tablespace TBSPACE (the format is determined by the resource type listed in the 501 error code). The page was being held by a CICS task, identified by ENTRabcdefgh in region CICSzyxw.

Hopefully that gets you the information you're looking for.

bhamby
  • 15,112
  • 1
  • 45
  • 66