If your operating system uses a parameter to define the
lower boundary address for shared memory, and the parameter is set
incorrectly, it can prevent the shared-memory segments from being
attached contiguously.
The following figure illustrates the problem. If the lower-boundary
address is less than the ending address of the previous segment plus
the size of the current segment, the operating system attaches the
current segment at a point beyond the end of the previous segment.
This action creates a gap between the two segments. Because shared
memory must be attached to a virtual processor so that it looks like
contiguous memory, this gap creates problems. The database server
receives errors when this situation occurs.
To correct the problem,
check the operating-system kernel parameter that specifies the lower-boundary
address or reconfigure the kernel to allow larger shared-memory segments.Figure 1: Shared-memory lower-boundary
address overview