DEDB control interval (CI) problem assistance aids
When you print portions of the DEDB, the control intervals
(CIs) have these identifying characteristics.
After you have performed the analysis described in ABENDU1026 analysis, review the contents
of the various control blocks. Included in message DFS2712I is a dump
of the control block that is related to the logical inconsistency.
This control block is in the format of one of the control intervals
(CIs). You can (possibly with help from IBM Software
Support) obtain the RBA of the affected CI from the buffer. You can
then use this RBA:
When you extract the CI from the image copy of the DEDB
When you choose the criteria for selecting and printing the IMS log records (with DFSERA10)
The acronyms used in this topic are:
DOVF
Dependent overflow
IOVF
Independent overflow
RAP BLOCK
Root-anchor point block
SDEP
Sequential dependent
CI type identification
Each
CI has an identifier at X'02' in the CI, with the exception
of the first and second CIs. The first is the IMS control CI and the second contains the DMAC
control block for this area.
CI Type
Identifier
REORG CI
00
RAP
01
DOVF
02
IOVF (SPACE MAP)
04
IOVF
08
SDEP
10
DEDB CI formats
These are
the CI types and the data that is common to all CIs (except the SDEP
CI).
CI 0
The IMS control CI.
0 8 10 18 1C 20 28 32
Creation Restart EREstart RBA of Characters Cisize Org
Date/Time Date/Time Date/Time Last CI DBF1.000 - 7 "D"
CI 1
The DMAC control block for this area is located here.
The Error
Queue Element (EQE) list is also located in this CI. This list is
44 bytes long and immediately precedes the trailer information, (for
example, CUSN, RBA, RDF and CIDF). The following figure shows the
EQE list format: FLG (1 byte), EQE CNT (3 bytes), 10 available EQE
entries (40 bytes).
Figure 1. EQE list in CI 1
RAP CI
The following figure shows the RAP CI.
0 2 4 8
FSEAP 0203 RBA of current Segments, FSEs and Scraps
overflow CI
(02) - Indicates CUSN
is in this CI.
First DOVF CI
The first DOVF CI has the format shown in the following figure.
0 2 4 8
FSEAP 0203 RBA of current Segments, FSEs and Scraps
overflow CI
(02) - Same as RAP CI -- these two bits combined
(01) - Look here for space -- make the 03 in byte 3.
Exception: From here on, the key bits are shown, but byte 3 is
not shown.
Other DOVF CIs
All DOVF CIs except the first one have the format shown in the
following figure.
0 2 4 8
FSEAP 02 RBA of next Segments, FSEs and Scraps
DOVF CI with
space, last
contains zeros
First IOVF CI
The CI shown in the following figure is a space map and is the
first in each group of 120 CIs. The 119 CIs that follow are data CIs.
0 2 4 6 8 (119 words mapping next 119 CIs)
0000 04 8000xxxx offset 8000xxxx free and offset to next free
to 1st 4000uow# allocated
free 2000uow# used by reorg
40000000 no free space in this space map CI
Other IOVF CIs
The following figure is a data CI - 119 data CIs follow each space
map CI.
0 2 4 8
FSEAP 0802 4000uow# Segments, FSEs and Scraps (allocated,
to UOW number; 0 is the first UOW).
0008 0802 80000000 FSE (CI not allocated).
(02) indicates CUSN is in this CI
SDEP CI
Exception: SDEP CIs do not contain FSEs and have no FSEAP or CUSN. User segments have a
time stamp added at the end. The following figure shows the SDEP CI.
0 2 3 4 8
0000 1000 Partner name Segments inserted sequentially
and cannot be updated
(01) - Time stamp exists
(04) - SDEP CI is full.
FSEAP
FSEAP is the offset of the first FSE in the CI. Fast Path FSEs
are chained from the highest RBA, in order, to the lowest RBA in the
CI.
FSE---X'8offssss' off=offset of next FSE in CI
ssss=size (length) of the free space
including the FSE.
X'8000ssss' indicates this is the last FSE on the chain in
this CI.
If the CI is empty, the FSE
is X'15' bytes less than the CI size, or X'13' less
than the CI size if no CUSN exists. The RDF and CIDF are X'7' bytes
less than the CI size. Here are some examples:
Scraps are less than 4 bytes. They begin with X'7n' if
less than 8 segment types, or X'Fn' if more than 8. For example,
1 byte—X'71' or X'F1'
2 bytes—X'72' or X'F2'
3 bytes—X'73' or X'F3'
Data Common to All CIs
The last X'0D' bytes of a CI all have the same use. The
last line of a CI looks like this in a dump.
data data data data data
-D -C-B-A-9 -8-7-6-5 -4-3-2-1
x-x x-x x-x x-x xxxxxxxx xxxxxxxx xxbbbbbb bbbbbbbb
The
bytes with bbbbbs do not print and will show as blanks in the dump.
The fields from -D to -1 are:
CUSN -D,C These 2 bytes represent updates to the CI. The 02
bit in byte 3 of a CI indicates a CUSN exists in the CI.
RBA -B,A,9,8 These 4 bytes are the beginning RBA of the CI.
RDF -7,6,5
CIDF -4,3,2,1
Recommendation: Use the RBA of the CI when you select log records to
format and print with the DFSERA10 utility.
SDEP CIs do
not contain FSEs and do not have a CUSN. SDEP CIs end at -B (the RBA).
Data can occupy the space up to that location.
Analyzing control interval (CI) contention
When CI contention occurs in a DEDB, Fast Path passes both lock
requests to program isolation (PI) modules. The PI trace, if active,
traces the locks. To format the PI trace records (log record type X'67FA'),
use the File Select and Formatting Print utility (DFSERA10) with exit
DFSERA40. For information about running this utility, see IMS
Version 15.5 System Utilities.
Using
the trace records, find the RBA field of the CI. The digits in the
CI RBA field are shifted right 8 bits. For example, an RBA of 00468000
is displayed as 00004680.
You must translate the value in
the DMB field to a relative DMAC number. (DMAC numbers are relative
to the DATABASE definitions.)
For example, if the first DMAC
is X'FFFE', the second DMAC is X'FFFD', the third
DMAC is X'FFFC', and so on. Because databases are chained
alphabetically in the DDIR, if the DMB field is X'FFF6',
you calculate the relative DMAC number as follows:
X'FFFF' – X'FFF6' = X'19' = 25 (decimal)
This
calculation means that X'FFE6' is the 25th area relative
to the first area of the first DEDB in the DDIR.