Consultor Eletrônico



Kbase 20819: Too many shared memory segments needed when attempting to start a database
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   10/16/2008
Status: Verified

SYMPTOM(s):

Error attempting to start database

Error has no Progress error number.

Error: Need <value> shared memory segments which exceeds Progress maximum of <value>

Starting the database with -B and -L parameters.

CAUSE:

The error is most often related to the configuration of the shared memory segments size on UNIX systems.

If shared memory segments (generally defined by SHMMAX parameter on most UNIX systems) are configured with a low value, this error message will appear when using a large value for the parameters that affect shared memory allocation (such as -B and -L). The problem is caused because there is a limit in the number of shared memory segments that a database broker can use. For most Progress 32-bit releases, there is a maximum of 21 segments that may be addressed.

As an example, if a database with a 1k blocksize is started with a -B of 250000 on a Unix server where the Shared Memory Segment size is set to only 10 Megabytes, the above error will occur because more than 21 segments will be needed to obtain the requested buffer pool.

FIX:

To fix the problem, verify and increase the SHMMAX and/or SHMSEG parameters on the kernel configuration of the UNIX system.