Oracle: semget failed!

I had an issue with starting a database a while back.  Basically, I ran out of resources on the server, and I had to adjust the kernel parameters.  Here are the details…

Error message:

[sourcecode]
ORA-27154: post/wait create 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
[/sourcecode]

According to Sam’s Oracle Blog, check the SHMMNS kernel parameter.  According to IBM, you can use the “ipcs -l” command and look on the line that says “max semaphores system wide”.  So, try this:

[sourcecode]

$ipcs -l | grep "max semaphores system wide"
max semaphores system wide = 32000
[/sourcecode]

To change the setting, edit the “/etc/sysctl.conf” file:

[sourcecode]
vi /etc/sysctl.conf
[/sourcecode]

Change this line:

[sourcecode]
kernel.sem = 250 32000 100 128
[/sourcecode]

I doubled it:

[sourcecode]
kernel.sem = 250 64000 100 128
[/sourcecode]

To, make the changes take affect, run:

[sourcecode]
sudo sysctl -p
[/sourcecode]

Now, you should have the correct number:

[sourcecode]

$ipcs -l | grep "max semaphores system wide"
max semaphores system wide = 64000
[/sourcecode]

It still didn’t work.  Ronny Egner’s blog suggested changing to this:

[sourcecode]
kernel.sem = 250 64000 100 256
[/sourcecode]

After the “sysctl -p” command, that fixed the problem.

Resources:

Leave a Comment

Your email address will not be published. Required fields are marked *