Running REPAIR to modify OBID for a compression dictionary
Additional invocations of the REPAIR utility might be necessary
if you use Db2 VSAM data sets
from the source system to move data that you are merging in the target
system and the table space is segmented and compressed.
About this task
If the segmented, compressed table space has a dictionary,
the space map page that contains the dictionary has an OBID that is
the same as the table space that was modified in the header page when
you moved and merged your data. The OBID in the space map must be
modified to match the new value in the header page.
Procedure
To modify the OBID in the space map to match the new
value in the header page:
Use the DSN1PRNT utility to view the data set header page
and space map.
The following is an example from DSN1PRNT
with the FORMAT option. On the header page, or page zero, you will
see something similar to the output displayed in the following figure: Figure 1. Sample header page of DSN1PRNT command with
the FORMAT option.
The following figure shows the first space map page, or page
1: Figure 2. Sample output from first space map page
of DSN1PRNT command with FORMAT option.
FIRST PART OF SEGMENTED SPACE MAP:
SEG 0001 000000020002C0 FFFF
SEG 0002 00000003000280 FFFF
SEG 0003 00000004000280 FFFF
SEG 0004 00000000000280 FFFF
SEG 0005 000000060003C0 3333
SEG 0006 00000007000380 3333
SEG 0007 00000008000380 3333
SEG 0008 00000009000380 3333
SEG 0009 0000000A000380 3333
SEG 000A 0000000B000380 3333
SEG 000B 0000000C000380 3333
SEG 000C 0000000D000380 3333
SEG 000D 0000000E000380 3333
SEG 000E 00000000000380 3300
In the header page, HPGOBID is the DBID
concatenated with the OBID. In the first figure above, HPGOBID is
X'018E0002', so the DBID is X'018E' and the OBID is 0002'X. You
can see that same OBID in the first four segments in the space map
page, or bytes 5 and 6, following the segment number.
If
you run DSN1PRNT on pages 0 and 1, and you do not see the same OBID
in the space map page as the one listed on the header page, it means
that the dictionary is not yet built. If the dictionary is not built,
you only see the table segments (segments X'5' thru X'E' shown above).
If this is the case, you do not need to modify the OBID and you can
stop this task.
Use the REPAIR utility to modify the OBIDs in the space
map to match the new OBID in the header page. Only the segments that
match the OBID in the old header page must be modified. The remaining
segments are for the table and do not need to be modified.
In
the second figure above, you can see that the first four segments
need to be modified and that the table OBID is X'0003'.
The number of segments that need to be modified is dependent
on the SEGSIZE value of the table space. The following table shows
the offset of the OBIDs that need to be modified for each SEGSIZE.
Table 1. The offset of OBIDs that need to be modified
in order of SEGSIZE