8.9.3 unload statement (specification of unload data file)

The unload statement specifies information about an unload data file.

Criterion
If you specify -k rorg, -k unld, or -k reld, be sure to specify the unload statement.
Rules
You can specify the following number of unload statements:
HiRDB/Single Server
Specify only one unload statement, regardless of the reorganization units (tables or RDAREAs).
HiRDB/Parallel Server
When reorganizing a row-partitioned table in units of tables, specify as many unload statements as there are servers that contain the table storage RDAREAs.
When reorganizing a row-partitioned table in units of RDAREAs or reorganizing a non-partitioned table, specify only one unload statement. Also, when unloading a table to a single unload data file specifying the -g option, specify only one unload statement.
Organization of this subsection
(1) Format
(2) Explanation

(1) Format

unload {[server-name:]
             unload-data-file-name[,unload-data-file-name]...
              |(uoc)}
              [HiRDB-file-information]
              [uoc-information]

(2) Explanation

(a) server-name

~<identifier> ((1-8))

Specifies the name of the server used to create the unload data file.

HiRDB/Single Server
Do not specify this option for a HiRDB/Single Server.
HiRDB/Parallel Server
  • When the -g option is omitted
    When reorganizing a row-partitioned table in units of tables, specify the name of each server that contains the RDAREAs storing the table to be reorganized.
    When reorganizing a row-partitioned table in units of RDAREAs or reorganizing a non-partitioned table, there is no need to specify the server name. The unload data files are output from the server that contains the RDAREAs storing the table.
  • When the -g option is specified
    When unloading a single unload data file with the -g option specified, specify the name of the server used to create the unload data file.
(b) unload-data-filename

~<pathname>

Specifies the absolute path name of the unload data file.

If you have specified a HiRDB file as the unload data file type in the -f option, specify the unload data file name as follows:

Rules applicable when the unload data file is a HiRDB file:
  • Express the name of the unload data file as 1 to 167 characters.
  • To use a HiRDB file, the HiRDB file system area must have already been created by the pdfmkfs command, with UTL or NUTL specified as the usage purpose in the -k option of the pdfmkfs command.
  • An error will result if the specified HiRDB file is in a HiRDB file system area that was created by the pdfmkfs command with an option other than -k UTL specified.
  • If the specified HiRDB file name is not found in the HiRDB file system area, pdrorg creates a new HiRDB file. If you specify the name of an existing HiRDB file, the utility overwrites that file.

You can also use the tape device access facility for unload data files. For details about the tape device access facility, see 1.4.3 Tape device access facility.

Note about unload data files
  1. You can specify only one table transfer unload file that was output with the -W bin -w option specified.
  2. If there is too much table data to fit in one unload data file, you can specify multiple files.
  3. You can use the pd_utl_file_buff_size operand in the system definition to change the size of the buffer used for unload data file input/output processing.
(c) (uoc)

Specify this option when you use a UOC to reorganize the database or to create a UOC data file (when the unload data file is not output by pdrorg).

(uoc) is applicable only to -k unld.

(d) HiRDB-file-information

[init={initial-allocation-size
  |(initial-allocation-size[,initial-allocation-size]...)}]
[,incr=secondary-allocation-size
  |(secondary-allocation-size[,secondary-allocation-size]...)}

Specify this operand if the unload data file is a HiRDB file. Be sure to specify the HiRDB file information on a single line.

If you omit init, do not specify a comma (,) before incr.

init={initial-allocation-size| (initial-allocation-size[,initial-allocation-size]...)} ~<unsigned integer> ((1-1048574)) <<100>>
Specify in MB the size of the area to be allocated to write to the HiRDB file.
Estimation formula:
For details about determining the initial allocation size, see the section in the HiRDB Version 9 Installation and Design Guide that describes the file size during execution of the database reorganization utility (pdrorg) to obtain the size (in bytes) of the unload data file, then use the following formula:
Initial allocation size = [Figure](size of unload data file in bytes + 1,024) [Figure] (1,024 [Figure] 1,024)[Figure] (MB)
Rules
  1. The initial allocation size must be smaller than the value specified in the -n option when the HiRDB file system area was created with the pdfmkfs command (because the system requires an area for management purposes).
  2. Be sure to specify a nonzero value in the -e option of the pdfmkfs command. Otherwise, the secondary allocation is not possible.
  3. Use the pdfstatfs command to determine the initial allocation size permitted.
  4. Specify as many allocation sizes as there are files specified in the unload statement. The system resolves a mismatch between the number of initial allocation sizes and the number of file names as follows:
    ConditionResolution
    Number of files < number of initial allocation specificationsAs many initial allocation specifications are valid as there are files, and subsequent initial allocation specifications are ignored.
    Number of files = number of initial allocation specificationsSpecification for each file is valid.
    Number of files > number of initial allocation specificationsThe last initial allocation specification is assigned to all the remaining files.

incr=secondary-allocation-size| (secondary-allocation-size[,secondary-allocation-size]...)} ~<unsigned integer> ((1-1048574)) <<10>>

Specifies the size of the extension area when the initial allocation size is not sufficient during a write operation on the HiRDB file.

The utility does not expand the HiRDB file in the following cases:

If the actual size exceeds the estimated size, specify the secondary allocation size in such a manner that neither of the previous attempts is made. The figure below shows limitations to the secondary allocation size. Specify the value of n so that the above two attempts are avoided.

Figure 8-21 Limitations to the secondary allocation size (unload statement)

[Figure]

When creating a new HiRDB file system area, you can specify the number of secondary allocations in the -e option of the pdfmkfs command. For an existing HiRDB file system area, check the value of available expand count in the pdfstatfs command output result.

(e) uoc-information

[uoc_lib=library-name[param='user-parameters']

Specify UOC information when you use a UOC to reorganize the database. When specifying the unlduoc statement, make sure that UOC information is also specified (if it is omitted, an error results).

uoc_lib=library-name
~<path name>
Specifies the absolute path name of the dynamic link library that contains the UOC.
param='user-parameters'
~<character string> ((1-1023))
Specifies user parameters that are to be passed to the UOC (because the user cannot directly pass parameters to a UOC by methods such as the command line).
The information specified in this option is passed as is to the UOC via the UOC interface area. The character string specified as the user parameters cannot contain any spaces or tabs.