Indirect list data sets and HALDB partitions
Every HALDB PHDAM and PHIDAM partition that uses a secondary index or logical relationships must have an indirect list data set (ILDS) allocated to it.
The HALDB self-healing pointer process uses the ILDS to update secondary index pointers and logical relationship pointers after database reorganizations.
In a batch environment, even the partitions in a PHDAM or PHIDAM database that do not use secondary indexes or logical relationships must have an ILDS allocated.
In an online environment, IMS does not need to allocate an ILDS for partitions that do not use a secondary index or logical relationships.
Like all data sets in HALDB databases, the maximum size of an ILDS is 4 GB. Each ILE in an ILDS is 50 bytes. Consequently, an ILDS cannot support more that 85 000 000 logical parent segments or secondary index target segments in a single partition. It is very unlikely that you might reach the ILE limit, but if you do, you can split the single partition into two or more partitions.
When you convert a database to HALDB, reorganize the database data sets in a partition, or perform a recovery of the database data sets in a partition, the ILDS is updated or rebuilt to reflect the changes to the physical location of the target segments of the ILEs in the ILDS. The IMS utilities that can update or rebuild the ILDS are:
- The HD Reorganization Reload utility (DFSURGL0)
- The HALDB Index/ILDS Rebuild utility (DFSPREC0)
Both of these utilities provide options for rebuilding the ILDS by using either VSAM update mode or VSAM load mode. VSAM load mode, which adds the free space called for in the VSAM DEFINE statement that defines the ILDS, can improve the performance of both the current execution of the utility and of subsequent reorganizations and recoveries.