The size of the shared memory used by global buffers is calculated for each dictionary server and back-end server, using Formula 1. If the calculations are made for each server machine, the values can differ depending on the options specified in the pdbuffer statement, as shown in the following table.
Table 15-9 Calculation conditions depending on the options specified in the pdbuffer statement (when the standby-less system switchover (effects distributed) facility is not used)
pdbuffer statement option | Calculation condition |
---|---|
-r | If the server has an RDAREA for which -r is specified, that RDAREA is used in the calculation. |
-i | If the server has an RDAREA that stores an index for which -i is specified, that server is used in the calculation. |
-b | If the server has an RDAREA for which -b is specified, that server is used in the calculation. |
-o | If there are any RDAREAs in the server that are not specified with pdbuffer -r, they are used in the calculation. |
If Y is specified in the pd_dbbuff_modify operand, add Formula 2. The total value determined from Formulas 1 and 2 is the required shared memory area for the server's global buffers.
If the pdbuffer operand is omitted, HiRDB calculates the shared memory area automatically, so it need not be estimated.
When the shared memory used by the global buffer is not locked in real memory (when free is specified in the pd_dbbuff_attribute operand), calculate the size using the following formulas.
Formulas | Shared memory calculation formula (KB) |
---|---|
Formula 1 |
![]() i=1 ![]() + (124 + 80#2 + 96 x A x Mi) x Ui} ![]() ![]() + Si x {Pi + 4 + (Ui x Mi x A)} } ![]()
![]() ![]() i=1 management region part: ![]() + (176 + 96#2 + 136 x A x Mi) x Ui} ![]() ![]() data storage part: Si x {Pi + 4 + (Ui x Mi x A)} |
Formula 2 |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
#1: Add this value in the case of a global buffer for LOB.
When the shared memory used by the global buffer is locked in real memory (when fixed is specified in the pd_dbbuff_attribute operand), calculate the size using the following formulas.
Formula | Shared memory calculation formula (KB) |
---|---|
Formula 1 |
![]() i=1 ![]() ![]() + (124 + 80#2 + 96 x A x Mi) x Ui} ![]() ![]() + Si x {Pi + 4 + (Ui x Mi x A)}} ![]() ![]() } ![]()
![]() ![]() ![]() ![]() ![]() i=1 management region part: ![]() + (176 + 96#2 + 136 x A x Mi) x Ui} ![]() ![]() data storage part: Si x {Pi + 4 + (Ui x Mi x A)} |
Formula 2 |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
When the standby-less system switchover (effects distributed) facility is used, the size of the shared memory used by global buffers is obtained for each unit using the formula. If the calculations are made for each unit, the values can differ depending on the options specified in the pdbuffer statement, as shown in the following table.
Table 15-10 Calculation conditions depending on the options specified in the pdbuffer statement (when the standby-less system switchover (effects distributed) facility is used)
pdbuffer statement option | Calculation condition |
---|---|
-r, -b | If the unit has an RDAREA for which -r is specified and which belongs to the same HA group, that RDAREA is used in the calculation. |
-i | If an RDAREA that contains the index specified with -i belongs to the same HA group, that RDAREA is used in the calculation. |
-o | If there are any RDAREAs in the same HA group that are not specified with pdbuffer -r, they are used in the calculation. |
If the pdbuffer operand is omitted, HiRDB calculates the shared memory area automatically, so it need not be estimated.
When the shared memory used by the global buffer is not locked in real memory (when free is specified in the pd_dbbuff_attribute operand), calculate the size using the following formulas.
Shared memory calculation formula (KB) |
---|
![]() i=1 (96 + ((752 x (A + B)) + (288 x (F + (8 x (A + B)))) + 8 x F x (A + B) + 16) + H + D) + 2,048 + G + (E x F + (8 x (A + B))) } ![]()
![]() ![]() i=1 management region part: ((144 + ((944 x (A + B)) + (464 x (F + (8 x (A + B)))) + (16 x F x (A + B)))) + 16 + H + D) data storage part: 2,048 + G + (E x F + (8 x (A + B))) |
pdbuffer statement option | Formula for the maximum value |
---|---|
-r, -b | (MAX ((buffer size (value of pdbuffer -l), MAX (page size of the specified RDAREA that belongs to the same HA group))) |
-i | (MAX (buffer size (value of pdbuffer -l), MAX (page size of the RDAREA that stores the index specified with -i and that belongs to the same HA group))) |
-o | (MAX (buffer size (value of pdbuffer -l), MAX (page size of the RDAREA in the same HA group that is not specified with pdbuffer -r))) |
When the shared memory used by the global buffer is locked in real memory (when fixed is specified in the pd_dbbuff_attribute operand), calculate the size using the following formulas.
Shared memory calculation formula (KB) |
---|
![]() i=1 { ![]() + 8 x F x (A + B) + 16) + H + D) + 2,048 + G + (E x F + (8 x (A + B)))} ![]() ![]() } ![]()
![]() ![]() ![]() ![]() ![]() i=1 management region part: ((144 + ((944 x (A + B)) + (448 x (F + (8 x (A + B)))) + (16 x F x (A + B)))) + 16 + H + D) data storage part: 2,048 + G + (E x F + (8 x (A + B))) |
pdbuffer statement option | Formula for maximum value |
---|---|
-r, -b | (MAX(Buffer size (pdbuffer -l value), MAX(Page size of RDAREAs belonging to same HA group as the specified RDAREA))) |
-i | (MAX(Buffer size (pdbuffer -l value), MAX(Page size of RDAREAs belonging to same HA group as the RDAREA stored in the index specified by -i))) |
-o | (MAX(Buffer size(value specified in pdbuffer -l), MAX(Page size of RDAREAs not specified by the pdbuffer -r option within the same HA group))) |