Installation guide
Oracle recommends SEMMNS to be at least 32000 and uses this value in its validated configurations. This val-
ue corresponds to SEMMSL * SEMMNI (250*128=32000) semaphores. With SEMMNI increased to 142 the
value of SEMMNS can be also increased to 35500 or more if the system is using more processes and SEMMSL
value is more than 250.
The minimum recommended value of SEMMNS is 32000.
The SEMOPM Parameter
This parameter defines the maximum number of semaphore operations that can be performed per semop(2)
system call (semaphore call). The semop(2) function provides the ability to do operations for multiple
semaphores with one semop(2) system call. Since a semaphore set can have the maximum number of SEMM-
SL semaphores per semaphore set, it is often recommended to set SEMOPM equal to SEMMSL.
Oracle validates Oracle DB 10.2 and 11.1 configuations with SEMOPM = 100.
Setting Semaphore Parameters
To determine the values of the four described semaphore parameters, run:
# cat /proc/sys/kernel/sem
250 32000 32 128
These values represent (in order) SEMMSL, SEMMNS, SEMOPM, and SEMMNI.
Alternatively, you can run:
# ipcs -ls
All four described semaphore parameters can be changed in the proc file system without reboot:
# echo 250 32000 100 142 > /proc/sys/kernel/sem
The values shown above are used by Oracle for validation of Oracle DB 10.2 and 11.1 configurations.
Alternatively, you can use sysctl(8) to change it:
# sysctl -w kernel.sem="250 32000 100 142"
To make the change permanent, add or change the following line in the file /etc/sysctl.conf. This file is
used during the boot process.
# echo "kernel.sem=250 32000 100 142" >> /etc/sysctl.conf
Example for Semaphore Settings
On systems where the ora.init parameter PROCESSES is very large, the semaphore settings need to be adjusted
www.redhat.com | 23