Creating a database extract for tuning experiments

FABHEXTR allows the creation of a small database extract from a large database. The database extract can be used to perform database tuning experiments. Creation of a smaller extract database can be useful when the database administrator intends to tune the randomizing parameters of a large HDAM database through an interactive try-and-see process.

FABHEXTR is a user exit routine of the FABHURG1 database unload utility. Based on control statements, FABHEXTR directs the FABHURG1 utility to include, in its database unload output file, only a subset of the real-life database records. The unloaded database extract is then used as input to the standard IMS HD Reload utility, which will create an extract database.

Assume, for example, you have a large HDAM database with 1 million database records, which takes 20 hours to reorganize. An iterative try-and-see tuning process for such a huge database is not realistic because of the large amount of time required for the database reorganization of each interaction step. However, if the database administrator creates a small database extract consisting of 5000 database records, then the database reorganization for this database extract no longer takes 20 hours, but only 6 minutes. The database administrator can then perform a lot of different experiments with different values for the randomizing parameters with this small database.

The user of FABHEXTR can define, in an EXTR control statement, the number (n) of consecutive database records that should be included in the extract database. Usually these will be the first n database records of the original database. However, you can specify, in an optional SKIP control statement, that the FABHURG1 utility should skip m database records before extracting n consecutive database records.

For a HALDB, an alternative way to extract database records from a HALDB partition is provided. The user can define, in a PARTEXTR control statement, the number (n) of consecutive database records that should be extracted from each HALDB partition. The first n database records of each partition are extracted and put in the same unloaded data set.