20.2.3 Memory size required for the execution of the database load utility (pdload)

The following tables show the formulas for determining the memory size required for the execution of the database load utility (pdload). For details about the variables, see (3) as follows.

Organization of this subsection
(1) HiRDB/Single Server
(2) HiRDB/Parallel Server
(3) Variables used in the formulas

(1) HiRDB/Single Server

ConditionFormula for determining memory size (KB)
32-bit modeSingle server6352 + [Figure]{([Figure] + [Figure]) [Figure] 1024}[Figure]
Utility special unit*1968 + [Figure]{([Figure] + [Figure]) [Figure] 1024}[Figure]
64-bit modeSingle server12172 + [Figure]{([Figure] + [Figure]) [Figure] 1024}[Figure]
Utility special unit*2423 + [Figure]{([Figure] + [Figure]) [Figure] 1024}[Figure]
* If no utility special unit is being used, use the value for Single Server.

(2) HiRDB/Parallel Server

ConditionFormula for determining memory size (KB)
32-bit modeMGR2255 + [Figure]{[Figure] [Figure]1024}[Figure]
Server machine containing input files2045 + [Figure]{([Figure] + [Figure]) [Figure] 1024}[Figure]
BES*3762 + [Figure]{[Figure] [Figure]1024}[Figure]
64-bit modeMGR2575 + [Figure]{[Figure] [Figure]1024}[Figure]
Server machine containing input files2406 + [Figure]{([Figure] + [Figure]) [Figure] 1024}[Figure]
BES*8247 + [Figure]{[Figure] [Figure]1024}[Figure]
* If a Single Server machine has multiple back-end servers, add into the calculation only for the number of back-end servers.

(3) Variables used in the formulas

[Figure](bytes):
{3056 + A + B + (516 [Figure] a) + (572 [Figure] b) + (312 [Figure] c) + (144 [Figure] d) + (8 [Figure] e) + (1032 [Figure] f) + (44 [Figure] g) + (272 [Figure] h) + (224 [Figure] i) + (44 [Figure] j) + (60 [Figure] k) + (260 [Figure] m) + (56 [Figure] n) + (196 [Figure] p) + (236 [Figure] q) + (744 [Figure] r) + (620 [Figure] s)} [Figure] 2
[Figure](bytes):
{6908 + [Figure] + (C [Figure]t) + K + (48 [Figure] a) + (22 [Figure] b) + (8 [Figure] e) + (240 [Figure] i) + (48 [Figure] j) + (4 [Figure] k) + (224 [Figure] m) + (47416 [Figure] t) + (1032 [Figure] u) + (4 [Figure] v)}
[Figure](bytes):
{37700 + ([Figure][Figure] 2) + C + D + F + H + P + Q + (80 [Figure] a) + (1871 [Figure] b) + (120 [Figure] c) + (26 [Figure] g) + (1532 [Figure] i) + (36 [Figure] j) + (44 [Figure] k) + (1212 [Figure] m) + (40 [Figure] n) + (344 [Figure] p) + (30 [Figure] q) + (16 [Figure] u) + (88 [Figure] v) + (20 [Figure] w)}
[Figure](bytes):
{69436 + [Figure] + D + K + E + L + M + N + (32 [Figure] a) + (88 [Figure] c) + (4 [Figure] g) + (2156 [Figure] k) + (24 [Figure] t) + (1024 [Figure] u) + (4 [Figure] v) + (50 [Figure] y) + (50 [Figure] z)}
a: Number of columns
b: Number of columns with abstract data type
c: Number of parameters in constructor or reverse constructor function
d: Number of file path names specified in command line or control information file
e: Number of LOB middle files
f: Number of LOB files by the column that are specified
g: Number of table storage RDAREAs
h: Number of table row partitioning conditions
i: Number of indexes
j: Number of index storage RDAREAs
k: Number of BLOB-type columns
m: Number of plug-in indexes
n: Number of user LOB RDAREAs storing LOB-attribute abstract data type
p: Number of functions provided by plug-in
q: Number of function parameters provided by plug-in
r: Number of data-type plug-ins
s: Number of index-type plug-ins
t: Number of servers storing tables
u: Number of BLOB-type parameters among the constructor function parameters used
v: Number of user LOB RDAREAs storing LOB columns
w: Number of user LOB RDAREAs storing plug-in indexes
y: Number of BINARY columns
This is the BINARY-data columns in input data that have been excluded from processing by the skipdata control statement plus the number of columns actually defined in the tables.
z: Number of BINARY-attribute parameters for plug-in-provided functions
This is the BINARY-data columns in input data that have been excluded from processing by the skipdata control statement plus the number of columns actually defined in the tables.
A: Total file size specified in the command line
B: Total length of file path names specified in the command line and control information file
C: If the following condition is satisfied, the value is (pd_utl_buff_size[Figure] 1024 + 4096) [Figure] 2; otherwise, the value is 0:
  • HiRDB/Single Server
    A utility special unit is used.
  • HiRDB/Parallel Server
    The pdload command is executed with a back-end server name containing the table storage RDAREA that is different from the server name specified in the source statement; or, the pdrorg command specifying the -g option is executed.
D: Row length
This is the sum of the defined lengths of all columns that constitute the table. The length of a BINARY-type row is the defined length for pdload plus MIN(defined length,32500) for pdrorg (in bytes). For a non-FIX table, add (a + 1) [Figure] 4.
E: Memory required for EasyMT
Add this value if you have specified easymt in the -f option.
F: 550 [Figure] 1024 + work buffer size specified in the sort statement [Figure] 1024 + G
Add this value if you have specified c in the -i option.
G: 256 (32-bit mode) or 512 (64-bit mode)
H: Value specified for the batch input/output local buffers [Figure] RDAREA page length [Figure] J + value specified for the random access local buffers [Figure] RDAREA page length
Add this value if you have specified the -n option. If an RDAREA's page length varies from one partitioned RDAREA to another, use the longest page length for this calculation.
J: Determine from the following table:
Value specified with -n optionTable partition type
Non- partitioning tableKey range partitioning tableHash partitioning table
Rebalancing hash
(HASHA-HASHF)
Non- rebalancing hash
(HASH0- HASH6)
FIX hashFlexible hash
div specified1Number of row partitions in the server for the tableHiRDB/Single Server: 1024
HiRDB/Parallel Server: ([Figure]1024 [Figure] g[Figure]) [Figure](number of table storage RDAREAs on the server)
Number of row partitions in the server for the tableNumber of row partitions in the server for the table
div not specified11
K: Parameter length
Sum of the lengths of arguments in the constructor function that is used to generate values for the abstract data type. For a BLOB-type parameter, the parameter length is 8 bytes.
L: If all the following conditions are satisfied, add 1 or 2; otherwise, the value is 0:
  • The errdata operand is specified in the source statement.
  • A utility special unit is used (HiRDB/Single Server), or the server name specified in the source statement is not the name of the back-end server that contains the table storage RDAREA (HiRDB/Parallel Server).
  • The table contains an abstract data type column, or a unique index is defined.
  1. errwork operand specified: Value of errwork operand [Figure] 1024
  2. errwork operand omitted: Value of pd_utl_buff_size[Figure] 1024 [Figure] 3 [Figure] t
M: Memory required for UOC
Add this value if you use UOC.
N: When the maxreclen operand is specified, calculate the following value:
When the input data file is in DAT format:
Value specified in maxreclen operand [Figure] 1024
When the table has BINARY type columns, or when the input data files are in binary format:
Add the smaller of the following to the calculation:
  • Value specified in maxreclen operand [Figure] 1024
  • Variable D (row length)
When other than the above:
0
P: Memory required for plug-ins
Add this value if there is an abstract data type column provided by a plug-in. For details about the size of memory required by plug-ins, see the applicable plug-in documentation.
If the constructor functions' arguments are BLOB or BINARY type, add (actual parameter length stored in all abstract data types [Figure] 2) that is defined per row.
Q: Memory requirement for output buffer
If the specified index creation method is the batch index creation mode or the index information output mode and the following condition is satisfied, add 2 megabytes:
  • Number of table partitions [Figure] number of index definitions > maximum number of processes that can be open - 576