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
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.
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.