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
Graphic shows EQE list format. Graphic also shows that for FLG, X'80' means more than 10 EQEs or error in 2nd CI.
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:
CI    512  X'200'   1024  X'400    2048  X'800'   4096  X'1000'
 
FSE   800001EB      800003EB       800007EB       80000FEB
RDF   0001F9        0003F9         0007F9         000FF9
CIDF  01F90000      03F90000       07F90000       0FF90000
Scraps
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.