The Semopm Parameter; Setting Semaphore Parameters; An Example Of Semaphore Settings - Red Hat ENTERPRISE LINUX 5.1 - LINUX ORACLE Tuning Manual

Oracle 9i and 10g tuning guide
Table of Contents

Advertisement

Chapter 8. Setting Semaphores
Oracle recommends SEMMSL to be at least 32000 for 9i R2 and 10g R1/R2 databases except for
9i R2 on x86 platforms where the minimum value is lower. Setting SEMMNS to 32000 ensures that
SEMMSL * SEMMNI (250*128=32000) semaphores can be be used. Therefore it is recommended to
set SEMMNS to at least 32000 for 9i and 10g databases on x86 and x86-64 platforms.

8.4. 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 SEMMSL semaphores per semaphore set, it is often recommended to set
SEMOPM equal to SEMMSL.
Oracle recommends to set SEMOPM to a minimum value of 100 for 9i R2 and 10g R1/R2 databases
on x86 and x86-64 platforms.

8.5. 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 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 128 > /proc/sys/kernel/sem
Alternatively, you can use sysctl(8) to change it:
sysctl -w kernel.sem="250 32000 100 128"
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 128" >> /etc/sysctl.conf

8.6. An Example of Semaphore Settings

On systems where the ora.init parameter PROCESSES is very large, the semaphore settings need
to be adjusted accordingly.
Section 24.1, "Optimal Flexible Architecture (OFA) for 10g R1 (10.1.0.2)"
As shown at
the SEMMSL
setting should be 10 plus the largest PROCESSES parameter of any Oracle database on the system.
So if you have one database instance running on a system where PROCESSES is set to 5000, then
SEMMSL should be set to 5010.
20

Advertisement

Table of Contents
loading

Table of Contents