Troubleshooting


The following topics discuss several methods to help you troubleshoot problems with the database partitioning process.

DL/1 Trace

To help troubleshoot problems, BMC AMI Partition Facility for IMS writes X’C5’ trace records to the DL/1 trace whenever you change a partition. BMC AMI Partition Facility for IMS also writes the trace after calling the randomizer to record the block number/RAP returned by the randomizer and the partition/block/RAP used by DL/1.

The X’C5’ DL/1 trace entry contains the DMB number, DCB number, DSG address, AMP address, AMP offset and information unique to the function writing the trace record that can be used for problem determination if the incorrect partition is being used by DL/1. The trace entry is used in conjunction with the buffer handler and lock traces to diagnose problems with partitioned database.

DL/I Trace Entry

image2018-12-20_10-53-25.png

Where:

  • Func: Identifies which function is requesting the trace.
  • DL and R: Are useful for diagnosing problems.

— Use the DL function when changing partitions.

— Use the R function when calling the randomizer. (The byte after the R is the randomizer return code.)

The information traced in entry 5, 6 and 7 depends on the selected function.

DL/1 X'C5' Trace

Func

Entry 5

Entry 6

Entry 7

DL

DL Request type

Pseudo-Abend

PSTDMBNM

PSTDCBNM

PSTSUBCD

PSTBYTNM (Can be overridden by request)

R

Number of Blocks in DB passed to routine

DL/1: BBBN

DEDB:

Relative RAP

Computed BBBN returned to DL/1

Additional X’C5’ records can be written with key data when needed for diagnostics.
Additional functions may also write X’C5’ trace records.

Generally, the DL/1 trace does not need to be written to an external data set or log, because the wrap-around trace often contains enough trace entries to diagnose the problem. It is always recommended to turn on the DL/1 and LOCK traces, without requesting OPTIONS=LOG, so the trace entries will be in a SNAP or pseudo-abend on the log if there is a problem, which can avoid the need of recreating the problem with the DL/1 trace on. The storage needed is minimal. There is extra CPU processing required, which may be a problem in some installations.

The usermod does not modify the DFSERA60 trace formatting routine to minimize the number of source/macro changes made to IMS, so the X’C5’ trace entries will display ‘UNKNOWN’ in the trace formatting routines.

SNAP

The SNAP call or pseudo-abend SNAP dump is also needed for problem diagnostics. The SNAP output is the same for partitioned databases. A useful diagnostic technique is to issue a SNAP call after an unexpected result to get the DL/1 blocks instead of forcing an ABEND.

Note

IMS will not snap the buffers if the DCB number is greater than 11.

DCB Number

As with Data Set Groups, the DCB number indicates the partition (data set) that the application currently has position. The DCB number is used to locate the access method control blocks used by OSAM/VSAM. The DCB number is also appended to the RBA when locking a segment or block/CI. The DCB number in the DL/1 trace and DL/1 control blocks in a SNAP indicate which partition is being used by the application.

BMC AMI Partition Facility for IMS Pseudo-Abends

BMC AMI Partition Facility for IMS pseudo-abends when an error occurs in a batch or on-line region. The pseudo-abend codes used by BMC AMI Partition Facility for IMS include U812 and U3309. The registers at the time of the pseudo-abend are saved in the last save area in the dependent region PST (PSTSAV20). For on-line regions, the PST is written to the IMS log as part of the pseudo-abend snap.

  • U3309: Indicates an error in the database or the BMC AMI Partition Facility for IMS code. A PDF3309I message will accompany the U3309 pseudo-abend to identify the error with a return and reason code.
  • U812: When generated by BMC AMI Partition Facility for IMS, indicates the HDAM randomizer returned an invalid partition number. This pseudo-abend can also occur when the randomizing routine returns a return code other than 0 or 4.

Pseudo-Abends When BMC AMI Partition Facility for IMS Is Not Installed

If a partitioned DMB is used by an IMS system without the BMC AMI Partition Facility for IMS code installed, U834 and U853, as well as other unpredictable pseudo-abends, can occur. For this reason, all partitioned DMBs should be removed from DBD/ACB libraries if the usermod or BMC AMI Partition Facility for IMS is removed.

BMC AMI Partition Facility for IMS License errors--U3303 Pseudo-Abends

If the BMC AMI Partition Facility for IMS license code is invalid, application programs will receive U3303 abends or BA status codes. PDF99xx messages in the joblog will identify the license error.

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*