Semaphores are signals used by Oracle to serialize the internal Oracle processes. The number of semaphores for a database is equal to the value of the PROCESSES parameter in the INIT.ORA file. For example, a database with PROCESSES=200 will have 200 semaphores allocated for Oracle.
AIX Unix does not use semaphores. In AIX, the post/wait driver is used instead, because it increases performance.
It is critical that the Unix kernel parameter semmns be set to at least double the total number of processes for all database instances on your server. If it's not set, your databases will fail to start, and you'll receive the following error:
spcre: semget error, unable to get first semaphore set.
It's often necessary to make changes to kernel parameters on a Unix system in order to accommodate the needs of the Oracle database software. You should always work with your Unix system administrator to make such changes. The general process, however, is as follows:
Shut down any running Oracle instances.
Locate the kernel configuration file for your operating system.
Make the necessary changes using system utilities or the vi editor. System utilities for several common Unix variants are listed in Table 1-1.
Reconfigure the kernel.
Reboot your machine.
Restart your Oracle instances.
Remember, kernel configuration requires a great deal of expertise. Always work with your system administrator.
Table 1-1. Utilities to Change Kernel Parameters