Oracle 参数 MEMOPTIMIZE_POOL_SIZE 官方解释,作用,如何配置最优化建议

本站中文解释

MEMOPTIMIZE_POOL_SIZE参数用于优化Oracle会话及进程之间的内存使用。这个参数指定Oracle自动化内存调整的最小值(MEMPOOL_SIZE),进程和会话对申请的内存分配将有一个最小界限。

正确设置MEMOPTIMIZE_POOL_SIZE参数,需要根据系统工作量及预期工作量,配置合理的内存使用量。我们可以根据以下步骤设置:

1. 确定目前的内存使用情况:我们需要根据Oracle任务的目前内存使用情况,判断当前系统的内存使用量和分配情况。根据实际的应用程序及内存消耗情况,了解它的要求,并且给出内存不足以支持任务时,是否会发生内存泄漏。

2. 根据当前内存使用情况,设定MEMOPTIMIZE_POOL_SIZE: 根据预期内存使用情况,正确设置MEMOPTIMIZE_POOL_SIZE参数,确保内存空间充足支撑系统工作,同时也要预留一定的余量,以减少内存不足对应用程序的影响。

3. 监控内存使用情况:按照系统工作情况不断监控内存使用情况,如果发现系统提高了新增功能所需的内存使用量,及时调整MEMOPTIMIZE_POOL_SIZE参数,保证系统能够安全运行。

官方英文解释

MEMOPTIMIZE_POOL_SIZE sets the size of the memoptimize pool, a memory area in the system global area (SGA) used by the Memoptimized Rowstore.

Property Description

Parameter type

Big integer

Syntax

MEMOPTIMIZE_POOL_SIZE = integer [K | M | G]

Default value

0

Modifiable

No

Modifiable in a PDB

No

Range of values

0 to no maximum

Basic

No

Oracle RAC

Different values can be used on different instances.

The Memoptimized Rowstore improves the data query performance of applications, such as Internet of Things (IoT), that frequently query tables based on primary key values.

The Memoptimized Rowstore provides the capability of fast lookup of data for the tables that are mainly queried based on primary key columns.

This parameter specifies an integer value to indicate the amount of SGA to use for allocating the following structures for the memoptimize pool:

  • The size of the buffer cache region: This is the total number of blocks for all MEMOPTIMIZE FOR READ tables.

  • The size of the hash index segmented data structure pointing to the special blocks of MEMOPTIMIZE FOR READ tables.

Calculate the buffer cache requirement for the table being considered for MEMOPTIMIZE FOR READ, and include an additional 25% memory requirement for the hash index segmented data structure.

These structures are allocated from SGA at instance startup.

The value specified for this parameter counts toward SGA_TARGET. For example, if you set SGA_TARGET to 10 GB and you set MEMOPTIMIZE_POOL_SIZE to 2 GB, then 20% of the SGA_TARGET setting is allocated to the memoptimize pool.

Unlike other SGA components such as the buffer cache and shared pool, the memoptimize pool size is not controlled by automatic memory management. The database does not automatically shrink the memoptimize pool when the buffer cache or shared pool requires more memory, or increase the memoptimize pool when it runs out of space. You can only increase the size of the memoptimize pool by manually adjusting the MEMOPTIMIZE_POOL_SIZE initialization parameter.

See Also:

Oracle Database
Performance Tuning Guide
for more information about the Memoptimized Rowstore and the memoptimize pool.


数据运维技术 » Oracle 参数 MEMOPTIMIZE_POOL_SIZE 官方解释,作用,如何配置最优化建议