Hitachi

Hitachi Advanced Database Setup and Operation Guide


2.20.2 Relationship with server definition operands

The various memory types and the sizes of the areas used by the HADB server are specified in server definition operands. This subsection explains the relationship between the memory types used by the HADB server and the server definition operands.

The two methods described below are provided for specifying in the server definition the maximum memory size to be used by the HADB server. We recommend use of method 1.

  1. Specify in the adb_sys_memory_limit operand the maximum memory size to be used by the HADB server (maximum value for the sum of the shared memory size and the process memory size).

  2. Specify in the adb_sys_proc_area_max operand the maximum value for the process common memory and specify in the adb_sys_rthd_area_max operand the maximum value for the real thread private memory.

The relationships between the memory used by the HADB server and the server definition operands are explained below for both of these methods.

Organization of this subsection

(1) Method 1 (specifying the adb_sys_memory_limit operand)

The following figure shows the relationship between the memory used by the HADB server and the server definition operands.

Figure 2‒75: Relationship between the memory used by the HADB server and the server definition operands (when the adb_sys_memory_limit operand is specified)

[Figure]

Note

The values of the server definition operands shown in the figure are examples. Specify the actual values that you have estimated.

#

When the multi-node function is used, the number of real thread private memory areas that are allocated is equal to value-of-adb_sys_max_users + number-of-nodes × 2 + 13.

Important

Specify in the adb_sys_memory_limit operand in the server definition the maximum size of the memory to be used by the HADB server (maximum value for the sum of the shared memory size and the process memory size).

The following table describes the relationships between the server definition operands and the individual memory types and areas shown in the figure.

Table 2‒25: Explanation of individual memory types and areas used by the HADB server (when the adb_sys_memory_limit operand is specified)

Type of memory or area

Related server definition operand

Section describing the estimation method

Method of checking memory usage during HADB server operation

Shared memory

Process common memory

--

(3) Determining the process common memory requirement in 6.3.1 Determining the shared memory requirement.

The value of PROCESS_USE output when the adbls -d mem command#2 is executed with the -a option specified.

Memory for managing shared memory

--

(1) Determining the shared memory management area requirement in 6.3.1 Determining the shared memory requirement.

The value of OTHER_USE output when the adbls -d mem command#2 is executed with the -a option specified.

Memory for global buffer

  • adbbuff

    Specifies information such as the number of global buffer pages.

  • adb_dbbuff_wrktbl_glb_blk_num

    Specifies the number of global buffer pages used for global work tables.

The value of GBUFFER_USE output when the adbls -d mem command#2 is executed with the -a option specified.

Real thread private memory

--

  • adb_sys_rthd_num

    Specifies the maximum number of processing real threads that can be used when SQL statements and commands are executed. One real thread private memory area is allocated for each processing real thread.

  • adb_sql_exe_max_rthd_num#1

    Specifies the maximum number of processing real threads that can be used when one SQL statement is executed.

(4) Determining the real thread private memory requirement in 6.3.1 Determining the shared memory requirement.

The value of THREAD_USE output when the adbls -d mem command#2 is executed with the -a option specified.

Hash grouping area

  • adb_sql_exe_hashgrp_area_size#1

    Specifies the size of one hash grouping area.

Description of the adb_sql_exe_hashgrp_area_size operand in 7.2.2 Operands related to performance (set format)

Hash table area

  • adb_sql_exe_hashtbl_area_size#1

    Specifies the size of a hash table area.

Description of the adb_sql_exe_hashtbl_area_size operand in 7.2.2 Operands related to performance (set format).

Hash filter area

  • adb_sql_exe_hashflt_area_size#1

    Specifies the size of a hash filter area.

Description of the adb_sql_exe_hashflt_area_size operand in 7.2.2 Operands related to performance (set format)

Local work table buffer

  • adb_dbbuff_wrktbl_clt_blk_num#1

    Specifies the number of pages in the buffer used for local work tables.

6.25.2 Estimating the number of pages in the buffer for local work tables

Process memory

Heap memory

--

6.3.2 Determining the process memory requirement

The value of HEAP_USE output when the adbls -d mem command#2 is executed with the -a option specified.

Legend:

--: Not applicable

#1

You can use the same operand in the client definition to change the value that is specified in the server definition.

#2

For details about the items output by the adbls -d mem command when the -a option is specified, see adbls -d mem (Display the Memory Usage Status) in the manual HADB Command Reference.

Note

For details about how to estimate the size of memory used by the HADB server, see the following sections:

(2) Method 2 (specifying the adb_sys_proc_area_max and adb_sys_rthd_area_max operands)

The following figure shows the relationship between the memory used by the HADB server and the server definition operands.

Figure 2‒76: Relationship between the memory used by the HADB server and the server definition operands (when the adb_sys_proc_area_max and the adb_sys_rthd_area_max operands are specified)

[Figure]

Note

The values of the server definition operands shown in the figure are examples. Specify the actual values that you have estimated.

#

When the multi-node function is used, the number of real thread private memory areas that are allocated is equal to value-of-adb_sys_max_users + number-of-nodes × 2 + 13.

The following table describes the relationships between the server definition operands and the individual memory types and areas shown in the figure.

Table 2‒26: Explanation of individual memory types and areas used by the HADB server (when the adb_sys_proc_area_max and adb_sys_rthd_area_max operands are specified)

Type of memory or area

Related server definition operand

Section describing the estimation method

Method of checking memory usage during HADB server operation

Shared memory

Process common memory#1

  • adb_sys_proc_area_max

    Specifies the maximum size of process common memory.

(3) Determining the process common memory requirement in 6.3.1 Determining the shared memory requirement.

The value of PROCESS_USE output when the adbls -d mem command#3 is executed with the -a option specified.

Memory for managing shared memory

--

(1) Determining the shared memory management area requirement in 6.3.1 Determining the shared memory requirement.

The value of OTHER_USE output when the adbls -d mem command#3 is executed with the -a option specified.

Memory for global buffer

  • adbbuff

    Specifies information such as the number of global buffer pages.

  • adb_dbbuff_wrktbl_glb_blk_num

    Specifies the number of global buffer pages used for global work tables.

The value of GBUFFER_USE output when the adbls -d mem command#3 is executed with the -a option specified.

Real thread private memory#1

--

  • adb_sys_rthd_area_max

    Specifies the maximum size of one real thread private memory area.

  • adb_sys_rthd_num

    Specifies the maximum number of processing real threads that can be used when SQL statements and commands are executed. One real thread private memory area is allocated for each processing real thread.

  • adb_sql_exe_max_rthd_num#2

    Specifies the maximum number of processing real threads that can be used when one SQL statement is executed.

(4) Determining the real thread private memory requirement in 6.3.1 Determining the shared memory requirement.

The value of THREAD_USE output when the adbls -d mem command#3 is executed with the -a option specified.

Hash grouping area

  • adb_sql_exe_hashgrp_area_size#2

    Specifies the size of one hash grouping area.

Description of the adb_sql_exe_hashgrp_area_size operand in 7.2.2 Operands related to performance (set format)

Hash table area

  • adb_sql_exe_hashtbl_area_size#2

    Specifies the size of a hash table area.

Description of the adb_sql_exe_hashtbl_area_size operand in 7.2.2 Operands related to performance (set format).

Hash filter area

  • adb_sql_exe_hashflt_area_size#2

    Specifies the size of a hash filter area.

Description of the adb_sql_exe_hashflt_area_size operand in 7.2.2 Operands related to performance (set format)

Local work table buffer

  • adb_dbbuff_wrktbl_clt_blk_num#2

    Specifies the number of pages in the buffer used for local work tables.

6.25.2 Estimating the number of pages in the buffer for local work tables

Process memory

Heap memory

--

6.3.2 Determining the process memory requirement

The value of HEAP_USE output when the adbls -d mem command#3 is executed with the -a option specified.

Legend:

--: Not applicable

#1

This part differs from (1) Method 1 (specifying the adb_sys_memory_limit operand).

If you omit the adb_sys_memory_limit operand, which specifies the maximum size of the memory used by the HADB server, you must specify the maximum size of the process common memory (adb_sys_proc_area_max operand) and the maximum size of one real thread private memory area (adb_sys_rthd_area_max operand).

#2

You can use the same operand in the client definition to change the value that is specified in the server definition.

#3

For details about the items output by the adbls -d mem command when the -a option is specified, see adbls -d mem (Display the Memory Usage Status) in the manual HADB Command Reference.

Note

For details about estimating the size of the memory to be used by the HADB server, see the following sections: