HISAM database structure
A HISAM database consists of two data sets: the primary data set and the overflow data set.
The primary data set is a VSAM KSDS, and the overflow data set is VSAM ESDS. Pointer Checker does not support ISAM/OSAM access methods for HISAM.
The following figure shows the database record for HISAM.
The VSAM KSDS index is a normal index with a key which is the root segment’s key. Each database record has one logical record in the data part of the VSAM KSDS. This logical record contains the root segment, followed by segments in that database record in hierarchical order. The order that segments have been inserted into the database has no effect on the physical order of the segments, since HISAM will move segments to keep them in hierarchical order.
If, as in the case under consideration, there are more segments in the database record than will fit into one logical record in the VSAM KSDS, then logical record(s) are allocated to the database record and are chained together by pointers. In both the primary and the overflow data sets, an individual logical record will only contain segments from one database record.
If segments are deleted from the database segment, they will still be physically present in the correct position within the hierarchy but will be signified as deleted by a flag in the delete byte. However, any dependent segments will not be flagged as deleted. The only exception to this is the deletion of a root segment where the logical record in the VSAM KSDS is physically deleted and the index entry removed, but any VSAM ESDS logical records in the overflow data set will not be deleted or even updated in any way.
Related topic