System Administration > System maintenance > Maintaining the database server > Maintaining the Oracle database > Oracle semaphores (Linux systems)
Introduction to Linux semaphores in Oracle
Linux semaphores are designed to allow processes to synchronize execution by allowing only one process to perform an operation on the semaphore at a time. The other processes sleep until the semaphores values are either incremented or reset to 0. Linux semaphores are integer-valued objects set aside by the operating system that can be incremented or decremented automatically. They are designed to allow processes to synchronize execution by allowing only one process to perform an operation on the semaphore at a time. The other processes sleep until the semaphores values are either incremented or reset to 0. Linux typically uses many semaphores and allocates them to the system in sets. When the Linux kernel is configured, the following semaphore parameters are rigidly set and cannot be changed without rebuilding the Linux kernel and restarting the system: Maximum number of semaphores (SEMMNS) The Linux kernel parameter SEMMNS is used to specify the maximum number of semaphores in the system. To increase this parameter, set SEMMNS to the sum of the PROCESSES parameter for each Oracle database, adding the largest one twice, then add an additional 10 for each database. For example: Copy ORACLE_SID=A, PROCESSES=100 ORACLE_SID=B, PROCESSES=100 ORACLE_SID=C, PROCESSES=200 The value for SEMMNS is calculated as follows: Copy SEMMNS=[(A=100) + (B=100) + [(C=200) * 2] + [(# of instances=3) * 10] = 630 See the operating system documentation for instructions about allocating semaphores and rebuilding the Linux kernel. Maximum number of semaphores per set (SEMMSL) The Linux semaphore kernel parameter SEMMSL is used to specify the number of maximum number of semaphores in a semaphore set. To increase this parameter, set SEMMSL to 10 plus the largest PROCESSES parameter of any Oracle database on the system. The PROCESSES parameter can be found in each initsid.ora file, located in the ORACLE_HOME/dbs directory.
Source: https://docs.sw.siemens.com/documentation/external/PL20251212545240207/en-US/tc_help/AWAdmin/fhs4814155880506/kkz1737238614272/opl1737238615588/yqk1737238615674/wjh1737238619767/semaphores.html · retrieved Fri Jul 31 2026 00:00:00 GMT+0000 (Coordinated Universal Time)