Preventing Db2 timeouts/deadlocks during Inquisitor or Usage imports

Batch import jobs from the Inquisitor or the Usage Monitor require exclusive access to tables in the Repository database to prevent timeouts or deadlocks.

Symptoms

HCL Z Asset Optimizer operational jobs for Inquisitor or Usage import are failing.

When running Inquisitor Import or Usage import batch jobs, multiple users using the Analyzer to access the Repository database can lead to timeouts or deadlocks. These batch jobs require exclusive accesses to the data in the tables. SQLCODE -904 error occurs with reason code 00C90083 or reason code 00C9008E.

Causes

When running Inquisitor Import or Usage import batch jobs, multiple users using the Analyzer to access the Repository database can lead to timeouts or deadlocks. These batch jobs require exclusive accesses to the data in the tables. SQLCODE -904 error occurs with reason code 00C90083 or reason code 00C9008E

Diganosing the problem

Check for examples of following messages in the Db2® MSTR address space:
DSNT501I  - DSNIDBET RESOURCE UNAVAILABLE  656  
            CORRELATION-ID=AAAAAA  
            CONNECTION-ID=DB2CALL  
            LUW-ID=NETA.GGGGGG.UUUUD99=81188  
            REASON 00C90083  
            TYPE 00000200  
            NAME XXXXXX.YYYYY
                
DSNT501I  - DSNIDBET RESOURCE UNAVAILABLE  656  
            CORRELATION-ID=BBBBB  
            CONNECTION-ID=DB2CALL  
            LUW-ID=NETA.GGGGGG.IIIII222=81188  
            REASON 00C9008E  
            TYPE 00000200  
            NAME XXXXXX.YYYYY

Resolving the problem

You can perform one or more of the following changes to resolve the issue:

  • Run these jobs during off-peak periods.
  • Reduce the number of users that need to use the Analyzer during peak periods.
  • Reduce the value of the COMMIT=1000 attribute to COMMIT=500 in PARMLIB members HZASIQP1 and HZASUIP1.
  • Define the DSNACLI plan and the dependent packages to use uncommitted reads.
    • Modify all packages and plan in db2.SDSNSAMP(DSNTIJCL) to have ISOLATION(UR) and then run the job.
    • When you change the settings for DSNACLI, ensure that this plan is not used by other applications or create the plan with a different name.
    • By setting ISOLATION(UR), when you run Analyzer reports, it is likely that the correct or latest information is not be displayed due to concurrency issues in Db2®.