Program functions of PSSR

PSSR sorts an unloaded database data set to prevent cascading and generates reports that summarize database sizes and randomizer performance. The utility also provides support for HALDBs.

Sorting an unloaded database data set

PSSR is used to sort an unloaded database data set that is produced by any one of the following unload utilities:

  • IMS™ HD Reorganization Unload utility (DFSURGU0)
  • Unload utilities of IMS High Performance Unload
  • IPR Unload utility of IMS Database Reorganization Expert

The resulting output data set is in physical sequence. The output data set is used as input to the following reload utilities:

  • IMS HD Reorganization Reload utility (DFSURGL0)
  • IMS HP Load utility of IMS High Performance Load
  • IPR Reload utility of IMS Database Reorganization Expert
  • IMS System Utilities/Data Base Tools (DBT) Version 2 Fast Reorganization Reload (FRR)

When this output data set is used as input, disk arm movement during the reload process is minimized, which can significantly reduce the elapsed time that is required to reorganize a database. Such a reduction in reload time can often offset the cost of running PSSR, especially when the unloaded database data set is not in physical sequence. (If you change any randomization parameters during the reorganization process, the unloaded database will not be in physical sequence.)

Preventing cascading

PSSR can also be used to help prevent cascading. Cascading might occur when an HDAM database is loaded in physical hierarchical sequence. A database on which cascading has occurred has many database records stored in blocks that are near (but not equal to) their home blocks. Accessing a root segment that is not stored in its home block might require multiple physical input/output operations, which can sometimes cause a degradation of database performance.

When IMS loads a database record (a root segment plus all its dependents), it attempts to put the entire record into its home block. If the home block becomes filled, the remaining segments in that record will spill into nearby blocks. Other records that randomize to a filled block will also spill into nearby blocks.

Loading records in physical sequence can propagate this effect, causing blocks to be filled with records that randomized to previous blocks. As each database record being loaded finds its home block full, it can spill to a higher block. This can cause the higher block to get full before any of its own root segments are loaded. Such a situation can cascade throughout the loading process.

Whether cascading occurs or not depends on the particular data that is in your database. It can, for example, be caused by a relatively small number of long database records that happen to randomize to the same block.

PSSR helps to avoid the cascading of root segments during reorganization. It does so by loading some database records at the end of the reload, instead of loading them in their normal physical sequence.

Important: If you reload a database by using IMS High Performance Load for z/OS® Version 2 Release 1, you cannot use PSSR to prevent cascading. To prevent cascading and avoid degradation of performance in reloading, it is recommended that you use the SORT=YES and the SEARCH=-nnn parameter instead of using PSSR. When the non-zero byte limit value is specified for your database, you must specify 'NO' in columns 51-52 of your control statement. Otherwise, IMS HP Load V2 ends abnormally with message HPSR3630E. For more information, see FABSPSSR CTL data set or FABSPSSI CTL data set.

Providing reports for tuning analysis

PSSR produces several reports that describe database record sizes and randomizer performance. These reports can help you conduct performance and tuning analysis.

Providing support for HALDB

Beside the basic functions for non-HALDB databases, PSSR provides the following functions for HALDBs:

Sorting an unloaded database data set of HALDB
You can apply the sorting function to the entire or selected partitions of database data sets unloaded from a PHDAM or a PHIDAM database. The database data sets are unloaded by the IMS HD Reorganization Unload utility (DFSURGU0) or the unload utilities of IMS High Performance Unload.

By the use of PSSR, the contents of unloaded database data sets are sorted in the sequence of the partition selections and in physical sequence within a partition. The sequence of partition selection is the sequence in partition high key or another sequence specified by the user-supplied partition selection exit.

By using the unloaded database data set after it is sorted, you can avoid the waste that otherwise occurs while IMS HP Load is reloading the HALDB.

Preventing cascading in each partition of HALDB
PSSR helps preventing cascading within a partition. After sorting as many records into the home block as will fit there, PSSR puts the remaining records to the output data set.
Important: If you reload a database by using IMS High Performance Load for z/OS Version 2 Release 1, you cannot use PSSR to prevent cascading. To prevent cascading and avoid degradation of performance in reloading, it is recommended that you use the SORT=YES and the SEARCH=-nnn parameter instead of using PSSR. When the non-zero byte limit value is specified for your database, you must specify 'NO' in columns 51-52 of your control statement. Otherwise, IMS HP Load V2 ends abnormally with message HPSR3630E. For more information, see FABSPSSR CTL data set or FABSPSSI CTL data set.
Providing reports of each partition of HALDB
For each partition, PSSR generates not only the usual by-database reports, but also the by-partition reports which include:
  • Record Size Distribution report
  • Assigned Roots per Block report
  • Assigned Roots per RAP report

PSSR also produces a HALDB process summary report, a summary of information about the partition processed.