If the processes settings are too large, Oracle cannot be enabled.
ORA-27303: Additional information: Invalid shared CTX
ORA-27146: Post/Wait initialization failed
ORA-27300: OS system dependent operation: semget failed with status: 28
ORA-27301: OS failure message: no space left on Device
ORA-27302: failure occurred at: sskgpcreates
You can change it to a smaller value.
Although semmns has been set to 1024, it seems that we still need to add and check the relationship between the parameters and the kernel parameters.
Db_block_buffers shmmax
Db_files (maxdatafiles) nfile, maxfiles
Large_pool_size shmmax
Log_buffer shmmax
Processes nproc, semmsl, semmns
Shared_pool_size shmmax
Common UNIX Kernel Parameter Definitions
The following kernel parameters tend to be generic into SS most UNIX platforms:
Maxfiles-soft file limit per process.
Maxuprc-Maximum number of simultaneous user processes per userid.
Nfile-Maximum number of simultaneously open files systemwide at any given time.
Nproc-Maximum number of processes that can exist simultaneously in the system.
Shmmax-the maximum size (in bytes) of a single shared memory segment.
Shmmin-the minimum size (in bytes) of a single shared memory segment.
Shmmni-the number of shared memory identifiers.
Shmseg-the maximum number of shared memory segments that can be attached by a process.
Semmns-the number of semaphores in the system.
Semmni-the number of semaphore Set Identifiers in the system; determines the number of semaphore sets that can be created at any one time.
Semmsl-the maximum number of sempahores that can be in one semaphore set. It shocould be same size as maximum number of Oracle processes.
The most error-prone is that semmns is too small, and Solaris is also more vulnerable than the HP-UNIX.
The original semmns = 1024, you can open an R12, two 9i, a 10g, then look at 9i will not work, change 2048, everything is normal, semmsl it is best to change it.