Hitachi

Hitachi Advanced Database Setup and Operation Guide


15.6.1 Steps to take when a memory shortage occurs during HADB server startup

This subsection explains the steps to take when the KFAA40007-E message is output during HADB server startup. The steps depend on whether the adb_sys_memory_limit operand is specified in the server definition.

Organization of this subsection

(1) When the adb_sys_memory_limit operand is specified in the server definition

The memory used by the HADB server is insufficient. Increase the value specified for the adb_sys_memory_limit operand in the server definition. Perform the following procedure.

Procedure:

  1. Change the server definition.

    In the server definition, set the adb_sys_memory_limit operand to a value that is equal to or larger than the value determined from the following formula.

    Formula (megabytes)

    [Figure]

    Explanation of variables

    get_size: Value of variable bb....bb in the KFAA40007-E message (bytes)

  2. Start the HADB server.

    Execute the adbstart command to start the HADB server.

Note

For details about the adb_sys_memory_limit operand in the server definition, see the adb_sys_memory_limit operand in 7.2.2 Operands related to performance (set format).

(2) When the adb_sys_memory_limit operand is not specified in the server definition

Check the variable aa....aa in the KFAA40007-E message indicating the type of insufficient memory. The corrective action depends on the value of aa....aa.

(a) If the variable aa....aa is PROCESS

Process common memory is insufficient. Increase the value specified for the adb_sys_proc_area_max operand in the server definition. Perform the following procedure.

Procedure:

  1. Change the server definition.

    In the server definition, set the adb_sys_proc_area_max operand to a value that is equal to or larger than the value determined from the following formula.

    Formula (megabytes)

    [Figure]

    Explanation of variables

    max_size: Value specified in the adb_sys_proc_area_max operand for the maximum size of process common memory that can be allocated (megabytes)

    get_size: Value of variable bb....bb in message KFAA40007-E (bytes)

  2. Start the HADB server.

    Execute the adbstart command to start the HADB server.

Note

For details about the adb_sys_proc_area_max operand in the server definition, see the adb_sys_proc_area_max operand in 7.2.2 Operands related to performance (set format).

(b) If the variable aa....aa is THREAD

Real thread private memory is insufficient. Increase the value specified for the adb_sys_rthd_area_max operand in the server definition. Perform the following procedure.

Procedure:

  1. Change the server definition.

    In the server definition, set the adb_sys_rthd_area_max operand to a value that is equal to or larger than the value determined from the following formula.

    Formula (megabytes)

    [Figure]

    Explanation of variables

    max_size: Value specified in the adb_sys_rthd_area_max operand for the maximum size of real thread private memory that can be allocated (megabytes)

    get_size: Value of variable bb....bb in message KFAA40007-E (bytes)

  2. Start the HADB server.

    Execute the adbstart command to start the HADB server.

Note

For details about the adb_sys_rthd_area_max operand in the server definition, see the adb_sys_rthd_area_max operand in 7.2.2 Operands related to performance (set format).

(c) If the variable aa....aa is HEAP

Heap memory is insufficient. Perform the following procedure.

Procedure:

  1. Check whether there are any unneeded processes. If you find any unneeded processes, terminate or delete them. Then, execute the adbstart command to start the HADB server.

  2. If there is still not enough memory after performing step 1, take the following action.

    • Restart the OS.

    • Execute the adbstart command to start the HADB server.

  3. If there is still not enough memory after performing step 2, take the following action.

    • Change the kernel parameter settings to increase the maximum size of memory that can be used by the process.

    • Restart the OS.

    • Execute the adbstart command to start the HADB server.

(d) If the variable aa....aa is SHARE

Shared memory is insufficient. Perform the following procedure.

Procedure:

  1. Check whether there are any unneeded processes or shared memory. If you find any unneeded processes, terminate them. If you find any unneeded shared memory, delete it. Then, execute the adbstart command to start the HADB server.

  2. If there is still not enough shared memory after performing step 1, take the following action.

    • Restart the OS.

    • Execute the adbstart command to start the HADB server.

  3. If there is still not enough shared memory after performing step 2, take the following action.

    • Change the kernel parameter settings to increase the maximum size of shared memory.

      If you have applied HugePages to the HADB server's shared memory, make sure that the kernel parameters are set to make HugePages usable. For details, see 6.2 Estimating the kernel parameters.

    • Restart the OS.

    • Execute the adbstart command to start the HADB server.