Data sets that REBUILD INDEX uses
The REBUILD INDEX utility uses a number of data sets during its operation.
The following table lists the data sets that REBUILD INDEX uses. The table lists the DD name that is used to identify the data set, a description of the data set, and an indication of whether it is required. Include statements in your JCL for each required data set and any optional data sets that you want to use.
Data set | Description | Required? |
---|---|---|
SYSIN | Input data set that contains the utility control statement. | Yes |
SYSPRINT | Output data set for messages. | Yes |
STPRIN01 | A data set that contains messages from the sort program (usually, SYSOUT or DUMMY). This data set is used when statistics are collected on at least one data-partitioned secondary index. | No1 |
Work data sets | Temporary data sets for sort input and output when sorting keys. If index build parallelism is used, the DD names have the form SWnnWKmm. If index build parallelism is not used, the DD names have the form SORTWKnn. | Yes |
Sort work data sets | Temporary data sets for sort input and output when collecting inline statistics on at least one data-partitioned secondary index. The DD names have the form ST01WKnn. | No2,3,4 |
UTPRINT | A data set that contains messages from the sort program (usually, SYSOUT or DUMMY). | Yes |
FlashCopy® image copy data sets | For copies of the entire index space, a separate VSAM data set for each partition or piece that is contained in the index space. For partition-level or piece-level copies, a VSAM data set for each partition or piece that is being copied. | No5 |
Note:
|
The following object is named in the utility control statement and does not require a DD statement in the JCL:
- Table space
- Object whose indexes are to be rebuilt.
Calculating the size of the SORTWKnn data set
To calculate the approximate size (in bytes) of the SORTWKnn data set, use the following formula:
2 x (longest index key + c) x (number of extracted keys)
- longest index key
- The length of the longest index key that is to be processed by the subtask.
If the index is of varying length, the longest key is the maximum possible length of a key with all varying-length columns that are padded to their maximum length, plus 2 bytes for each varying-length column in the index. For example, if an index with 3 columns (A, B, and C) has length values of CHAR(8) for A, VARCHAR(128) for B, and VARCHAR(50) for C, the longest key is calculated as follows:
8 + 128 + 50 + 2 + 2 = 190
- c
- A value as follows:
- 14 if the indexes that are being rebuilt are a mix of data-partitioned secondary indexes and nonpartitioned indexes
- 12 if the indexes that are being rebuilt are partitioned, or if none of them are data-partitioned secondary indexes.
- number of keys
- The number of keys from all indexes that the subtask sorts and processes.
Using two or three large SORTWKnn data sets are preferable to several small ones.
Calculating the size of the ST01WKnn data set
To calculate the approximate size (in bytes) of the ST01WKnn data set, use the following formula:
2 ×(maximum record length × numcols × (count + 2) × number of indexes)
The variables in the preceding formula have the following values:
- maximum record length
- Maximum record length of the SYSCOLDISTSTATS record that is processed when collecting frequency statistics (You can obtain this value from the RECLENGTH column in SYSTABLES.)
- numcols
- Number of key columns to concatenate when you collect frequent values from the specified index.
- count
- Number of frequent values that Db2 is to collect.
Sort work data sets cannot span volumes. Smaller volumes require more sort work data sets to sort the same amount of data; therefore, large volume sizes can reduce the number of needed sort work data sets. When you allocate sort work data sets on disk, the recommended amount of space to allow provides at least 1.2 times the amount of data that is to be sorted.
Tape devices are not supported for sort work data sets.