Nonstop Database, HiRDB Version 9 Command Reference

[Contents][Index][Back][Next]

8.9.4 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 configuration
Specify only one unload statement, regardless of the reorganization units (tables or RDAREAs).
HiRDB parallel server configuration
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:|host-name:}]
              unload-data-file-name[,unload-data-file-name]...
               |(uoc)}
               [{EasyMT-information|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 configuration
Do not specify this option for a HiRDB single server configuration.

HiRDB parallel server configuration
  • 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) host-name

~<identifier> ((1-32))

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

HiRDB single server configuration
When creating the unload data file on a utility special unit, specify the name of that host.
When this option is omitted, the system creates the unload data file on the unit where the single server is located.

HiRDB parallel server configuration
Do not specify this option for a HiRDB parallel server configuration.
(c) unload-data-filename

~<path name>

Specifies the absolute path name of the unload data file.

You can specify the following files as unload data files:

If you have specified the type of unload data file in the -f option, specify the unload data file names as follows.

When the unload data file is EasyMT:
You can specify a maximum of two unload data files.
If using MTguide, you can specify a device symbolic name or device group name managed by MTguide.

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, and UTL must have been specified for the usage purpose in the -k option.
  • 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.

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. When specifying multiple unload data files, note the following:
    • You cannot use an NFS file.
    • You cannot use a direct tape unit without using EasyMT.
    The file attributes must be the same as shown as follows:
    • EasyMT
      You need to initialize all volumes as EMTVOL_EL (EasyMT-labeled volumes).
    • HiRDB files
      You cannot mix regular files and character special files. Use either regular files only or character special files only.
(d) (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. If (uoc) is specified, neither EasyMT information nor HiRDB file information can be specified.

(e) EasyMT-information
 
[file=filename]
[{,vol=volume-name|,vol=(volume-name[,volume-name]...)}]
[,bufno=buffer-sectors-count]
[,fileno={file-sequence-number|ADD}]
 

Specify this operand if the unload data file is an EasyMT file.

By specifying a file name and volume name, you can check to see if the actual unload data file and volume have the specified names. If you do not want to check the file or volume name, omit this operand.

If you are omitting a file name, do not specify a comma before the first specified item.

file=filename ~<alphanumerics> ((1-17))
Specifies the name of the file.

{,vol=volume-name|,vol=(volume-name[,volume-name]...)}
~<alphanumerics> ((1-6))
Specifies the names of the volumes containing the file. You can specify up to 255 volume names, in as much as they fit in one line.

bufno=buffer-sectors-count ~<unsigned integer> ((1-256)) <<10>>
Specifies the number of buffer sectors to be used by EasyMT.

fileno={file-sequence-number|ADD}
Specifies the position of the unload data file on the magnetic tape.
file-sequence-number ~<unsigned integer> ((1-199)) <<1>>
If you have specified -k rorg or -k unld, the utility creates a file at the specified location and deletes any file following the specified location.
If you have specified -k reld, the utility reads the file at the specified location (if fileno is omitted, the utility reads the next file).
ADD
If you have specified -k rorg or -k unld, the utility creates the file at the end of the volume.
If you have specified -k reld, you cannot specify ADD.
(f) 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:
    Condition Resolution
    Number of files < number of initial allocation specifications As many initial allocation specifications are valid as there are files, and subsequent initial allocation specifications are ignored.
    Number of files = number of initial allocation specifications Specification for each file is valid.
    Number of files > number of initial allocation specifications The 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-22 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.

(g) 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 shared 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.