5.2.11 Operands related to global buffers

34) pd_max_add_dbbuff_no = maximum-global-buffers-count-for-dynamic-addition
~<unsigned integer>((1-32752))
In order to change global buffers dynamically, this operand specifies the maximum number of global buffers (per server) that can be added dynamically by the pdbufmod command.
Condition
Y must be specified in the pd_dbbuff_modify operand.
Specification guidelines
  • Estimate the number of global buffers to be added dynamically by the pdbufmod command and then specify a sufficient value based on that value.
  • Determine the operand's value in such a manner that the following condition is satisfied:
    Value of pd_max_add_dbbuff_no[Figure] 2,000,000 - number of global buffers allocated per server during HiRDB startup
Operand default value
If this operand is omitted, the value specified for the same operand in the server common definition takes effect. If the same operand is also omitted from the server common definition, one of the following values is assumed:
ConditionDefault value
32-bit modea[Figure] 500256
a < 500500 - a
64-bit modea[Figure] 1,000256
a < 1,0001,000 - a
a: Number of global buffers allocated per server during HiRDB startup
Notes
Do not specify an unnecessarily large value in this operand. If this operand's value is too large, the shared memory used by HiRDB increases, which might result in a shortage of shared memory and an inability of HiRDB to start.
Relationship to other operands
This operand is related to the following operands:
  • SHMMAX
  • pdbuffer
  • pd_max_add_dbbuff_shm_no
Effects on individual estimation formulas
If the value of the pd_max_add_dbbuff_no operand is changed, the following estimation formulas are affected:
HiRDB Version 9 Installation and Design Guide:
  • Determining the value of S under Determining the size of status files
  • Formula 2, Formula 4, Formula 5, and Formula 6 under Formulas for shared memory used by a single server
35) pd_max_add_dbbuff_shm_no = maximum-shared-memory-segments-count-for-dynamic-addition
~<unsigned integer>((1-32752))
In order to change global buffers dynamically, specifies the maximum number of shared memory segments (per server) that can be allocated when dynamic addition is performed by the pdbufmod command.
Condition
Y must be specified in the pd_dbbuff_modify operand.
Specification guidelines
Estimate the number of global buffers to be added dynamically by the pdbufmod command and then specify an appropriate value.
Operand default value
If this operand is omitted, the value specified for the same operand in the server common definition takes effect. If the same operand is also omitted from the server common definition, one of the following values is assumed:
ConditionDefault value
pd_max_add_dbbuff_no operand is omitted,32-bit mode500 + A
64-bit mode1000 + A
pd_max_add_dbbuff_no operand is specified,32-bit mode[Figure]value of pd_max_add_dbbuff_no[Figure] 1.5 + A[Figure]
(If the value is 32,752 or greater, 32752 is set)
64-bit mode
A: Number of excessive shared memory segments that can be allocated during HiRDB startup. This value can be calculated by using the following formula:

A = 512 - number of shared memory segments allocated per server during HiRDB startup

You can use the pdls -d mem command or an OS command to obtain information about the shared memory segments.
Notes
  • If the following condition is satisfied, the value of the pd_max_add_dbbuff_no operand is assumed in this operand:
    Value of pd_max_add_dbbuff_shm_no < value of pd_max_add_dbbuff_no
    The value of the pd_max_add_dbbuff_no operand is also assumed when the default value satisfies the above condition.
  • Do not specify an unnecessarily large value in this operand. If this operand's value is too large, the shared memory used by HiRDB increases, which might result in a shortage of shared memory and an inability of HiRDB to start.
  • If the size of a shared memory segment to be added exceeds the SHMMAX operand value, shared memory is divided into multiple segments based on the SHMMAX operand value as the maximum value. Either increase the value of the SHMMAX operand based on the size of the shared memory segment to be added or increase the value of the pd_max_add_dbbuff_shm_no operand so that no shortage occurs when the shared memory is segmented.
  • If the facility for dynamically updating a global buffer is applied, the total number of shared memory segments that can be allocated as the shared memory segments for a global buffer can be calculated by using the following formula:
    512 + value specified for pd_max_add_dbbuff_shm_no
    Therefore, if the number of the shared memory segments allocated during HiRDB startup exceeds 512, the number of shared memory segments to be allocated during the dynamic update is the value obtained by subtracting the number of excessive shared memory segments from the value of the pd_max_add_dbbuff_shm_no operand.
  • If you have changed the value of this operand, re-evaluate the maximum size of a shared memory segment in the OS parameters, the maximum number of shared memory segments in the system, and the maximum number of shared memory segments per process.
Relationship to other operands
This operand is related to the following operands:
  • SHMMAX
  • pdbuffer
  • pd_max_add_dbbuff_no
Effects on individual estimation formulas
If the value of the pd_max_add_dbbuff_shm_no operand is changed, the following estimation formulas are affected:
HiRDB Version 9 Installation and Design Guide:
  • Formulas for shared memory used by a unit controller under Estimating the memory size required for a HiRDB single server configuration
  • Estimating HP-UX OS parameter values
  • Estimating Linux kernel parameter values
  • Estimating Solaris OS parameter values
  • Determining the value of S
  • HiRDB single server configuration under Determining Environment Variables Related to the Number of Resources