Limited supportBMC provides limited support for this version of the product. As a result, BMC no longer accepts comments in this space. If you encounter problems with the product version or the space, contact BMC Support.BMC recommends upgrading to the latest version of the product. To see documentation for that version, see LOADPLUS for DB2 13.1.

SYSUT1 data sets in LOADPLUS


The index work data set contains index key entries and becomes the input for the index-building process.

For a two-phase load, LOADPLUS uses this data set in the PRELOAD phase and in the LOAD phase. When used with a single-phase LOAD RESUME YES SHRLEVEL NONE job, LOADPLUS writes the index key entries to the index work data set during the COMBINED phase, but only reads from this data set if you restart your job.

The following table describes the circumstances under which LOADPLUS requires SYSUT1nn usage data set:

Load type

SYSUT1nn requirement

Two-phase load

At least one required if any indexes are participating in the load

  • Single-phase load
  • LOAD RESUME YES SHRLEVEL NONE or SHRLEVEL REFERENCE
  • Without TABLE tableName REPLACE

For LOB and XML loads, at least one required

For all other jobs, at least one required if you want to be able to restart and any indexes are participating in the load

Important

If you do not specify a SYSUT1 data set and the load job fails, you might have to recover the object. See Recovering-the-Db2-object-after-terminating-or-canceling-a-LOADPLUS-job for more information.

  • Single-phase load
  • LOAD RESUME YES with TABLE tableName REPLACE

Not used

  • Single-phase load
  • LOAD REPLACE or LOAD RESUME NO

Not used

SQLAPPLY load

Not used

 You can always run with only one SYSUT1 data set. However, if you want to improve performance, you can specify more than one data set. For more information about specifying multiple SYSUT1 data sets, see Allocating SYSUT1 data sets in your JCL.

To override the default ddname or ddname prefix SYSUT1, use the WORKDDN command option.

Methods for allocating SYSUT1 data sets

You can use one of the following methods to allocate your SYSUT1 data sets and determine the appropriate size for those data sets:

  • (recommended) Have LOADPLUS dynamically allocate your SYSUT1 data sets by using the DDTYPE command or installation option.

    For more information about dynamic allocation, see Dynamic-data-set-allocation and Dynamic-allocation-options.

  • Specify ANALYZE PAUSE or ANALYZE ONLY to have LOADPLUS provide an estimate of the space that is needed for your SYSUT1 data sets.

    For more information about these options, see ANALYZE-option-for-estimating-data-set-allocation-in-LOADPLUS.

  • Calculate the space allocation based on your knowledge of the table space that you are loading and the information in this section.

Restrictions

Note the following restrictions for allocating SYSUT1 data sets:

  • For a DSNUTILB load, you must have LOADPLUS dynamically allocate your SYSUT1 data sets.
  • Do not specify DD DUMMY or a DD specified with DSN=NULLFILE.
  • To enable LOADPLUS to restart any time after the PRELOAD or COMBINED phase has begun, the SYSUT1 cannot be a temporary data set.
  • For multiple load jobs running in a worklist environment, do not use SMS extended sequential data sets, including striped data sets, as SYSUT1 data sets. When LOADPLUS first uses a data set, it defines the data set’s DCB attributes. With an SMS extended sequential data set, once these attributes are defined they cannot be changed. If this data set is reused, as with multiple load jobs in a worklist environment, it can require different DCB attribute values, such as a different block size or record length. LOADPLUS attempts to redefine these attributes if necessary. However, because MVS does not allow changes to these attributes once the file has been opened, LOADPLUS fails.

Dynamically allocating SYSUT1 data sets

Note the following recommendations when dynamically allocating SYSUT1 data sets:

  • If you plan to have LOADPLUS allocate more than 99 index work file (SYSUT1) data sets, use the WORKDDN command or installation option to specify a ddname prefix that results in eight characters or less after LOADPLUS appends the highest data set number. For more information about specifying ddname prefixes, see Specifying ddname prefixes.
  • If you are loading a table space with a large number of indexes, BMC recommends that you specify a single SYSUT1 data set to avoid data set allocation limitations of the operating system. 

Allocating SYSUT1 data sets in your JCL

Note the following recommendations when allocating SYSUT1 data sets in your JCL.

Specifying a single work data set

If you want a single work data set for all non-data-sorting indexes, specify one SYSUT1 DD statement.

Specifying multiple work data sets

There is no penalty for specifying more SYSUT1 data sets than LOADPLUS requires. Using multiple work data sets reduces the amount of DASD that is required for loading if the key lengths vary a great deal. Also, if enough sort work space and memory are available, using multiple work data sets allows LOADPLUS to build nonclustering indexes concurrently. For more information about performance and DASD considerations, see SYSUT1 data sets.

If you specify more than one SYSUT1 data set, specify a DD statement named SYSUT1nn for each data set. Specifying nn creates a unique ddname; the nn has no relation to the index name.

Use the following table to determine how many data sets to specify based on the indexes that exist on your table space:

ORDER value

Clustering index status

SYSUT1 data sets

NO

Any

1 per index

YES

Clustering index is not partitioned

1 per index

Clustering index is partitioned

(1 per index) - 1

No clustering index, but a partitioned partitioning index exists on the table space

(1 per index) - 1

No clustering index and no partitioned partitioning index

1 per index

Note the following additional considerations:

  • Ensure that you include any LOB or XML indexes, including implicitly-defined indexes, in your calculations.
  • If the number of SYSUT1 DD statements is greater than one and less than the number of participating non-data-sorting indexes, LOADPLUS terminates.
  • If you are loading a table space with a large number of indexes, we recommend that you specify a single SYSUT1 data set to avoid data set allocation limitations of the operating system.

When using multiple SYSUT1 data sets, LOADPLUS assigns the index with the largest key length to the first SYSUT1 DD statement in the JCL, the index with the second-largest key length to the second SYSUT1 DD statement, and so on. This assignment of indexes to data set by key length can assist you in allocating the sizes of your data sets and allows you to place data sets on different devices. Due to this assignment, you should allocate the space for the participating index with the largest key length in the first SYSUT1 DD statement in your JCL, space for the index with the second-largest key length in the second SYSUT1 DD statement, and so on.

 

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*