Performance considerations for buffer installation options
You can use installation options to control the amount of buffer space that the data sets use during REORG PLUS processing.
For each option, REORG PLUS multiplies the number that you specify by 32 KB to determine the amount of virtual storage needed for the buffer pool. REORG PLUS then allocates as many buffers as will fit into that space.
REORG PLUS attempts to allocate all buffers above the 16-megabyte (MB) line.
SYSREC data set
REORG PLUS does not use the SYSREC data set when you specify SHRLEVEL REFERENCE or SHRLEVEL CHANGE for a single-phase table space reorganization. References to single-phase reorganizations in this section are for SHRLEVEL NONE only.
The SYSREC data set contains the unloaded rows from the table space that you are reorganizing. For a two-phase reorganization, REORG PLUS writes this data set during the UNLOAD phase and reads it during the RELOAD phase. For a single-phase reorganization, multiple SYSRECnn data sets (one per partition) are optional. When you specify them, REORG PLUS writes the data sets during unload processing in the REORG phase for restart purposes only.
For a partitioned table space, you can improve I/O performance by specifying one SYSRECnn data set for each partition. Using multiple data sets allows REORG PLUS to concurrently unload the table space information from each partition during unload processing and, for a single-phase reorganization, concurrently reload the information during reload processing.
For a single-phase table space reorganization, you can improve I/O performance by not specifying any SYSRECnn data set in your JCL and not having REORG PLUS dynamically allocate one. Not having a SYSREC data set eliminates writing to the data set. However, not having the SYSREC data set also means that the job might not be restartable.
You can still achieve a performance gain when you specify a SYSREC data set or use dynamic data set allocation for a single-phase reorganization because the table space information is written to the SYSREC data set for restart purposes only. REORG PLUS does not reload the table space from this data set, thus eliminating reading from the SYSREC data set.
REORG PLUS uses the UBUFFS installation option to determine the amount of buffer pool storage that is allocated for reading and writing the SYSREC data sets. The multiplier that REORG PLUS applies to the UBUFFS option value is 32 KB. For the UBUFFS option, BMC recommends a value of 20 (the value that is shipped with REORG PLUS). REORG PLUS determines the optimal block size of the SYSREC data set, depending on the device type containing the data set.
SYSUT1 data set
For a table space reorganization, REORG PLUS requires one or more SYSUT1 data sets. For a single-phase index reorganization, REORG PLUS does not use the SYSUT1 data set when you specify SHRLEVEL REFERENCE or SHRLEVEL CHANGE. References to single-phase reorganizations in this section are for SHRLEVEL NONE only.
The SYSUT1 data set contains the information that REORG PLUS needs to build all indexes (when you specify ORDER NO) or only the non-data-sorting indexes (when you specify ORDER YES). For a two-phase reorganization, REORG PLUS writes this data set during the UNLOAD phase and reads it during the RELOAD phase. For a single-phase table space reorganization, REORG PLUS both writes and reads the data set during the REORG phase. For a single-phase index reorganization, the SYSUT1 data set is optional. When you specify it, REORG PLUS writes this data set during the REORG phase for restart purposes only.
When more than one non-data-sorting index exists, you can improve I/O performance by using multiple SYSUT1 data sets. Using multiple data sets allows I/O operations to overlap.
For a single-phase index reorganization, you can improve I/O performance by not specifying a SYSUT1 data set in your JCL and not having REORG PLUS dynamically allocate one. Not having a SYSUT1 data set eliminates writing to the data set. However, not having the SYSUT1 data set also means that the job might not be restartable.
You can still achieve a performance gain when you specify a SYSUT1 data set or use dynamic data set allocation for a single-phase reorganization because REORG PLUS writes the index information to SYSUT1 for restart purposes only. REORG PLUS does not reload the index from this data set, thus eliminating reading from the SYSUT1 data set.
A single SYSUT1 data set for all indexes requires a record length long enough to hold information for the longest key. If shorter keys exist, REORG PLUS pads them so that they are as long as the longest key. With multiple SYSUT1 data sets, REORG PLUS writes information for each index to its own SYSUT1 data set, and does not pad the keys.
REORG PLUS uses the WBUFFS installation option to determine the amount of buffer pool storage that is allocated for reading and writing the SYSUT1 data sets. The multiplier that REORG PLUS applies to the WBUFFS option value is 32 KB. BMC recommends a value of 20 for this option.
REORG PLUS determines the optimal block size of the SYSUT1 data set, depending on the device type containing the data set.
Copy data sets
The copy data sets contain identical copies of the reorganized table space or partitions of the table space after it is reorganized. For a two-phase table space reorganization, REORG PLUS writes these data sets during the RELOAD phase. For a single-phase table space reorganization, REORG PLUS writes these data sets during the REORG phase.
If the copies are registered as the Db2 local and remote copies, they can provide input to a Db2 recovery utility, such as the BMC Software RECOVER PLUS product or the IBM Db2 RECOVER utility.
REORG PLUS uses the CBUFFS installation option to determine the amount of buffer pool storage that is allocated for writing the copy data sets. The multiplier that REORG PLUS applies to the CBUFFS option value is 32 KB. For the CBUFFS option, BMC recommends a value of 30. When copying multiple partitions of the table space to separate data sets, REORG PLUS uses only one group of buffers.
REORG PLUS normally determines the optimal block size of the copy data sets, depending on the device type that contains the data sets. However, you can control the block size through the execution JCL by allocating the copy data sets with a block size that is greater than 0 and is an even multiple of four kilobytes. If you are making more than one copy, REORG PLUS uses the same block size as you specify for BCPY for all subsequent copies, regardless of the block size that you specify in the JCL for any additional copies.
As an alternative to specifying the copy data sets in a DD statement, you can have REORG PLUS dynamically allocate the data sets.
For additional performance considerations for copy data sets, see Copy-options-for-REORG-TABLESPACE.
Incremental copy data sets
The incremental copy data sets (shipped with the default names of BICY, BICZ, BIRY, and BIRZ) contain identical copies of the pages that have changed since the full copies were made of the reorganized table space or partitions of the table space. When performing a SHRLEVEL CHANGE reorganization, you might need one of these data sets for each full copy data set that you specify in your JCL, depending on the value of the ICTYPE option.
REORG PLUS writes the incremental data sets during the LOGFINAL phase. The copies are registered as the Db2 local and remote copies and can provide input to a Db2 recovery utility, such as the BMC Software RECOVER PLUS product or the IBM Db2 RECOVER utility.
REORG PLUS uses the CBUFFS installation option to determine the amount of buffer pool storage that is allocated for writing the copy data sets. The multiplier that REORG PLUS applies to the CBUFFS option value is 32 KB. For the CBUFFS option, BMC recommends a value of 30. When copying multiple partitions of the table space to separate data sets, REORG PLUS uses only one group of buffers.
REORG PLUS normally determines the optimal block size of the incremental copy data sets, depending on the device type containing the data sets. However, you can control the block size through the execution JCL by allocating the incremental copy data sets with a block size that is greater than 0 and is an even multiple of four kilobytes. If you are making more than one copy, REORG PLUS uses the same block size as you specify for BMCICY for all subsequent copies, regardless of the block size you specify in the JCL for any additional copies.
As an alternative to specifying the incremental copy data sets in a DD statement, you can have REORG PLUS dynamically allocate the data sets.
For additional performance considerations for incremental copy data sets, see Improving performance.
Db2 data sets
The Db2 data sets contain the table space that you are reorganizing and its associated indexes. For a two-phase reorganization, REORG PLUS reads the data sets during the UNLOAD phase and writes the data sets during the RELOAD phase. For a single-phase reorganization, REORG PLUS reads and writes the data sets during the REORG phase.
REORG PLUS assigns buffers for these data sets based on available virtual storage and the number of partitions processed concurrently. Providing as much virtual storage as possible allows processing of several partitions and indexes concurrently. For more information, see Providing maximum virtual storage.