Specifies the action to be taken by the UAP when the RDAREA or index to be accessed using a local buffer is being used by another user.
Y: Waits for the other user to terminate processing. The UAP goes into a wait state.
N: If the RDAREA or index to be accessed using a local buffer is being used by another user, an error is returned to the UAP.
If this operand is specified together with two or more pdlbuffer operands, the specification of this operand is valid for all the local buffers specified.
Specifies the local buffer used by a UAP. A local buffer is an area used for inputting and outputting table or index data located in a disk, and is allocated in the process private memory of a single server or back-end server. The maximum number of local buffers you can define is 100. For a HiRDB parallel server configuration, you can define up to 100 local buffers for each back-end server.
When a local buffer is specified, various types of resources are locked according to the specification of the pdlbuffer operand as shown as follows.
pdlbuffer operand specification
Locked resource
Lock mode
The -r option of the pdlbuffer operand is specified.
Specified RDAREA
EX
The -i option of the pdlbuffer operand is specified.
RDAREA for index
SU
Table for index
EX
Specified index
EX
Condition
A global buffer must first be allocated to the RDAREA or index to be specified as a local buffer, using the pdbuffer operand.
Application criterion
Define a local buffer when all of the following conditions are satisfied:
A large volume of data is searched or updated.
The access target RDAREA is not accessed by other UAPs.
Because UAPs that are always connected to HiRDB have a major impact on the system (memory shortage or process lock), do not define local buffers for them.
Note
Note the following for a HiRDB parallel server configuration:
If a server process is abnormally terminated when a local buffer is being used, the unit might terminate abnormally, and the abort code Phb3008 might be output.
If a page is being updated when the server process is abnormally terminated, recovery using a rollback process might not be possible. In this case, recovery is performed when the unit is restarted.
For the processing by HiRDB and the action to be taken when an error occurs when a local buffer is being used, see the HiRDB Version 9 System Operation Guide.
-alocal-buffer-name
~<identifier>((1-16 characters))
Specifies a local buffer name. The name specified here must be unique. However, the same name can be specified for local buffers that are in different UAP environment definition files.
-rRDAREA-name[,RDAREA-name]...
~<identifier>((1-30 characters))
Specifies the name of the RDAREA to which a local buffer for data is allocated. Only user RDAREA names can be specified.
The name specified here must be unique. However, the same name can be specified for RDAREAs that are in different UAP environment definition files.
Specification guidelines
When multiple RDAREAs are allocated to a single local buffer, the maximum page size of the RDAREAs becomes the buffer size. Therefore, allocating RDAREAs having the same or approximately the same size to the local buffer can reduce the number of inputs and outputs. However, with the types of RDAREAs described as follows, allocating them to different local buffers can reduce the number of inputs and outputs, even if these RDAREAs have the same size.
RDAREAs that store tables for different purposes
RDAREAs that are accessed randomly or sequentially most of the time
Operand rules
If the RDAREA name includes a character that is not alphanumeric, enclose it in quotation marks.
The maximum number of RDAREAs you can define for a single local buffer is 4,096.
Specifies the index name (authorization-identifier.index-identifier) to which the local buffer for the index is allocated.
The name specified here must be unique. However, the same name can be specified for indexes that are in different UAP environment definition files.
Operand rule
If the authorization identifier or index identifier includes a character that is not alphanumeric, enclose it in quotation marks.
Specification guidelines
Specify an index that is frequently used. Allocating a local buffer to a frequently used index increases the degree of memory residency for index pages, and thus can reduce the number of inputs and outputs.
In particular, allocating an index defined in a cluster key or unique key to a local buffer can have a major positive effect. Note that because the index identifier of a cluster key is determined by HiRDB, check the index identifier by searching the dictionary table (INDEX_NAME column of the SQL_INDEXES table) after a table has been defined.
Notes
A local buffer for an index that specifies a temporary table index name is invalid.
-nbuffer-sector-count
~<unsigned integer>((4-125000))
Specifies the number of local buffer sectors.
Specification guidelines
A local buffer is allocated in the process private memory. Therefore, allocating an unnecessarily large area to the local buffer causes frequent paging when the rest of the memory is used, resulting in poor performance.
Note that specifying too large a buffer sector count might make it impossible to allocate process private memory.
For a sequentially-accessing UAP, no buffering effect can be expected. Therefore, specify the minimum value of 4 for the buffer sector count.
-pbatch-input-maximum-page-count
~<unsigned integer>((2-256))
Specifies the maximum number of pages that can be input by the prefetch facility in a single batch. If this operand is omitted, the prefetch facility does not work.
Specification guidelines
By taking the cost-performance tradeoff between memory size and input/out time reduction effect into consideration, specify a value that satisfies the following condition:
ab = 64 - 128 (kilobytes)
a: Size of the RDAREA that stores the data or index to be prefetched
b: Maximum number of pages that can be input in a single batch
If the segment size of the RDAREA is 1, specifying this option has no effect. Therefore, do not specify it.
3) PDDBACCSinner-replica-RDAREA-generation-number
~<unsigned integer>((0-10))
Specifies the default that is to be used when the PDDBACCS client environment variable is omitted.
When the inner replica facility is being used, this operand specifies the generation number of the inner replica group RDAREA that is to be accessed (when an RDAREA other than the current RDAREA is to be accessed). When this operand is not specified, the current RDAREA is accessed.
For details about the inner replica facility, see the HiRDB Version 9 Staticizer Option Description and User's Guide.
Notes
The specification in this operand is applied to all inner replica groups defined in the system. If there is no replica RDAREA with the generation number specified in this operand, the current RDAREA in the applicable inner replica group is processed. For this reason, when you set up a test environment that will use replica RDAREAs, you must make sure that you have defined replica RDAREAs of the generation to be specified for all RDAREAS to be accessed so that the original RDAREA will not be accessed unintentionally.