On UNIX, you can
configure shared-memory segments for the database server.
On UNIX, perform
the following steps to configure the shared-memory segments that your
database server configuration needs. For information about how to
set parameters related to shared memory, see the configuration instructions
for your operating system.
To configure shared-memory segments for the database
server:
- If your operating system does not have a size limit for
shared-memory segments, take the following actions:
- Set the operating-system configuration parameter for
maximum segment size, typically SHMMAX or SHMSIZE, to the total size
that your database server configuration requires. This size includes
the amount of memory that is required to start your database server
instance and the amount of shared memory that you allocate for dynamic
growth of the virtual portion.
- Set the operating-system configuration parameter for
the maximum number of segments, typically SHMMNI, to at least 1 per
instance of the database server.
- If your operating system has a segment-size limit, take
the following actions:
- Set the operating-system configuration parameter for
the maximum segment size, typically SHMMAX or SHMSIZE, to the largest
value that your system allows.
- Use the following formula to calculate the number of
segments for your instance of the database server. If there is a remainder,
round up to the nearest integer.
SHMMNI = total_shmem_size / SHMMAX
- total_shmem_size
- is the total amount of shared memory that you allocate for the
database server use.
- Set the operating-system configuration parameter for the
maximum number of segments, typically SHMMNI, to a value that yields
the total amount of shared memory for the database server when multiplied
by SHMMAX or SHMSIZE. If your computer is dedicated to a single instance
of the database server, that total can be up to 90 percent of the
size of virtual memory (physical memory plus swap space).
- If your operating system uses the SHMSEG configuration
parameter to indicate the maximum number of shared-memory segments
that a process can attach, set this parameter to a value that is equal
to or greater than the largest number of segments that you allocate
for any instance of the database server.
For additional tips on configuring shared memory in the
operating system, see the machine notes file for UNIX or the release notes file for Windows.