Copy data sets in LOADPLUS
Copy data sets are output data sets that contain a DSN1COPY-type copy or image copy.
LOADPLUS creates one or more output copy data sets when you specify COPY YES. Depending on the option that you choose, LOADPLUS creates either a standard image copy or DSN1COPY-type copy after loading the data into the table, or an inline image copy while loading the data into the table. LOADPLUS creates all copies with system pages at the beginning of the data set (in the same way that the IBM COPY utility creates image copies when you specify SYSTEMPAGES YES).
The copy ddnames identify the output data sets that will contain the copy either of the table space, of each partition in the table space, or of the specified subset of partitions after the load. The number of copies that LOADPLUS makes when you specify COPY YES depends on the following information:
- (Without dynamic allocation) The existence of the copy ddnames in your JCL
- (With dynamic allocation) The DDTYPE and COPYLVL specifications in your installation and command options
LOADPLUS provides the following default names for each type of copy data set. With the exception of the LOB and XML copy data sets, you can use a different name by changing it in your installation or command options.
LOADPLUS provides the following default names for each type of copy data set. With the exception of the LOB and XML copy data sets, you can use a different name by changing it in your installation or command options.
Default name | Function |
---|---|
BMCCPYnn | Local primary |
BMCCPZnn | Local backup |
BMCRCYnn | Remote primary |
BMCRCZnn | Remote backup |
LLPnnnnn | Local primary LOB |
LLBnnnnn | Local backup LOB |
LRPnnnnn | Remote primary LOB |
LRBnnnnn | Remote backup LOB |
XLPnnnnn | Local primary XML |
XLBnnnnn | Local backup XML |
XRPnnnnn | Remote primary XML |
XRBnnnnn | Remote backup XML |
Requirements
LOADPLUS requires the following copy data sets when you specify COPY YES:
- When you are loading LOB data, BMCCPY is required for the base table copy and LLP is required for the LOB table space copy.
- When you are loading XML data, BMCCPY is required for the base table copy and XLP is required for the XML table space copy.
- For all other load jobs, BMCCPY is required.
- For all load jobs, if you specify BMCRCZ, BMCRCY is also required.
LOADPLUS requires that your copy data sets be dynamically allocated in either of the following cases:
- You are running a DSNUTILB load.
- You are making LOB or XML table space copies. (Data sets for base table copies do not need to be dynamically allocated.)
Restrictions
The LOB and XML copy data set prefixes (see the Default copy data set names table) are reserved. If you include a DD statement in your JCL that uses these prefixes as the data set name or prefix, LOADPLUS terminates.
Overriding the default ddnames
To override the default copy ddnames or ddname prefixes in your installation options module, see the information in the Default copy data set names table.
Registration
The ddname itself controls the registration information that is placed in the ICBACKUP column of SYSIBM.SYSCOPY when you specify either ALL (the default) or specific ddnames for the REGISTER command option.
Methods for allocating copy data sets
You can use one of the following methods to allocate your copy data sets and determine the appropriate size for those data sets:
- Have LOADPLUS dynamically allocate your copy data sets by using the DDTYPE command or installation option. Note the following considerations about using this method:
- This method is required for copies for a DSNUTILB load.
- This method is required for LOB and XML table space copies.
- BMC recommends this method when you are loading a partition-by-growth table space.
- Specify ANALYZE PAUSE, ANALYZE ONLY, or PRELOAD PAUSE to have LOADPLUS provide an estimate of the space that is needed for the copy data sets. For more information about the options that provide space estimates for you, see ANALYZE-option-for-estimating-data-set-allocation-in-LOADPLUS or ANALYZE.
- Calculate the space allocation based on your knowledge of the table space that you are loading and the information in this section.
LOADPLUS determines the optimal block size of the copy data sets based on the device type that contains the data set. Copy data sets can be on different device types. However, if additional copy data sets (for example, remote backup copy data sets) for the same object are on different device types, the block size for all copy data sets for that object is the block size that LOADPLUS determines is optimal for the local primary copy.
Dynamically allocating copy data sets
Based on the information in the Data set type descriptions and quick command reference table, specify dynamic allocation options that result in the same number and type of copy data sets as if you specified DD statements in your JCL.
Restriction
LOADPLUS does not allow dynamically allocated copy data sets to be stacked on tape.
Additional considerations
The following considerations apply when dynamically allocating copy data sets:
- For copy data sets, LOADPLUS determines the size of the dynamically allocated files based on the value that you specify for the AUTOENUMROWS installation option or the ENUMROWS command option. Additionally, for LOAD RESUME YES, LOADPLUS takes into account the high-used relative byte address (HURBA) of the table space that you are loading.
- For LOB and XML copy data sets, LOADPLUS does not report allocation information. LOADPLUS allocates these data sets based on LOB or XML record length, number of records, and the following options. To reduce the risk of out-of-space abends, ensure that these options are set appropriately:
- LOBAVGPCT
- XMLAVGSIZE
- AVGSIZE
- SIZEPCT
- For information about partition-level copies, see Partition-level copiesand Partition-by-growth table spaces.
Allocating copy data sets in your JCL
If you do not use dynamic allocation, you must allocate the copy data sets in your JCL by specifying DD statements as described in the following table:
Table space being copied | Type of load | Copy DD statements required |
---|---|---|
Nonpartitioned | Any type |
|
Partitioned (except partition-by-growth) | All partitions (entire table space) | Specify one DD statement for each copy type that you want LOADPLUS to make. Do not use nn in the ddname. or For each partition, specify one DD statement for each copy type that you want LOADPLUS to make. Use nn for all ddnames, where nn matches the partition number. 1 |
Selected partitions (using INTO TABLE PART option) | If you specify a single subset of contiguous partitions, you can specify one DD statement for each copy type that you want LOADPLUS to make. Do not use nn in the ddname. 1 , 2 or For each specified partition, specify one DD statement for each copy type that you want LOADPLUS to make. Use nn for all ddnames, where nn matches the partition number. (The nn is not required if you are performing a partial load with only one partition.) 1 | |
Partition-by-growth | All partitions (entire table space) | Specify one DD statement for each copy type that you want LOADPLUS to make. Do not use nn in the ddname. or For each partition, specify one DD statement for each copy type that you want LOADPLUS to make. Use nn for all ddnames, where nn matches the partition number. 1 If necessary, specify additional DD statements. |
Selected partitions (using INTO TABLE PART option) | This option is not valid for partition-by-growth table spaces. |
1 This option is not valid for a DSNUTILB load.
2 The value of the COPYSUBSET installation option must be YES.
The size that LOADPLUS needs for the copy data sets depends on the number of pages that are required when the table space is loaded. For a two-phase load, LOADPLUS calculates the number of required pages and issues message BMC51486I, which includes the number of pages.
Use the following table to determine the value to use for your data set allocation. Allocate the primary amount as the total amount. No secondary amount is needed.
Table space type | Number of copy data sets | Calculation |
---|---|---|
Nonpartitioned | Not applicable | Multiply the number of pages required for loading by the page size of the table space. |
Partitioned | Single | Multiply the total number of pages for all loaded partitions by the page size of the table space. |
Multiple | For each data set, multiply the number of pages for that partition by the page size of the table space. |
Note the following considerations when allocating copy data sets in your JCL:
- If you specify VOL=(,RETAIN) in your JCL, LOADPLUS does not deallocate the copy data set to free the device after completing the copy.
- You should not specify DISP=MOD for an image copy data set because LOADPLUS does not reset the data set to empty but appends to any data already present in the file.
- Copy data sets should not be temporary data sets. For information about how LOADPLUS defines a temporary data set, see Work-file-validity-and-integrity-checks.
Partition-level copies
Note the following additional information when allocating partition-level copies.
Naming partition-level copies
Use the nn as part of the ddname only if you are loading a partitioned table space and you want a separate data set for each partition.
JCL rules limit ddnames to eight characters. If you are making partition-level copies, the ddname has two parts: the ddname prefix (minimum of one character) and the partition number nn (one to seven characters). The ddname that you specify in the installation options or the command options becomes the ddname prefix. Note the following information about the partition number:
- If you are dynamically allocating copy data sets (and you specify COPYLVL PART to make partition-level copies), LOADPLUS appends the partition number to the ddname prefix. If you are loading a table space that contains more than 99 partitions, use the COPYDDN and RECOVERYDDN options to specify a prefix that results in eight characters or less after LOADPLUS appends the highest partition number. (These options do not apply to LOB or XML copy data sets.) For more information, see Specifying ddname prefixes.
- If you are allocating copy data sets in your JCL, you must append the partition number nn to the ddname prefix. The nn must match the partition that you are copying, and you must allow sufficient bytes for LOADPLUS to add the partition number to the prefix and still have a valid ddname (eight characters or less).
Large number of partitions
If you are loading a large number of partitions, consider one of the following options to avoid encountering data set allocation restrictions of the operating system or LOADPLUS memory restrictions:
- Limit the number of copies per partition.
- If you are loading all partitions, dynamically allocate your copy data sets and create a single copy by specifying COPYLVL FULL.
- If you are loading a subset of contiguous partitions, create a single copy by specifying COPYSUBSET=YES in the installation options module and, if you are dynamically allocating your copy data sets, COPYLVL FULL on your LOAD command.
Partition-by-growth table spaces
When you are making partition-level copies for partition-by-growth table spaces, LOADPLUS requires the allocation of enough copy data sets to provide for any additional partitions that it adds during the load. We recommend that you dynamically allocate your copy data sets in this case.
When you dynamically allocate your copy data sets, LOADPLUS allocates additional copy data sets only as it needs them. Ensure that the ddname prefix that you specify allows for the number of partitions specified for MAXPARTITIONS in your table space definition.
If you allocate the copy data sets yourself, you must allocate enough data sets to allow for expansion up to the number of partitions specified for MAXPARTITIONS in your table space definition. Although LOADPLUS requires this allocation, it only uses these data sets if it adds partitions to the table space during the load.
Related topics