Today, while oracle database startup we got “ORA-27154: post/wait create failed” error message. ( We have multiple databases running on same env. )
After diagnosis, it was the problem with kernel parameter: kernel.sem
SQL> startup
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
Solution:
Edit “/etc/sysctl.conf” file with following value for the kernel.sem
# semaphores: semmsl, semmns, semopm, semmni
kernel.sem = 250 32000 100 256
After save above changes, issue following command to reflects edited value parameter into the environment.
sysctl -p
After changing above value, database will be open:
SQL> startup
ORACLE instance started.
Total System Global Area 389189632 bytes
Fixed Size 1336736 bytes
Variable Size 268438112 bytes
Database Buffers 113246208 bytes
Redo Buffers 6168576 bytes
Database mounted.
Database opened.
***********************************************************************
Note: Please donβt hesitate to revert in case of any query OR feedback.
Thanking you.
Have a easy life ahead.
This helped. Thank you.
Thank you naushad for writing… Stay tune. π
This made my life easy!!! thank you very much for posting this…
Thank you Edwin for writing… Stay Tune. π
Hi Jignesh,
Thank you, its helps me clearing the error in a single step. Now i can able to connect
Regards
Harsha
Thank you Harsha for writing.
Stay Tune. π
Thank you that helped me a lot.
Thank you Hemanth for writing.
Stay Tune. π
I got this error while I was creating a new database in RAC mode. but we have exact same server build the same way but we didn’t get that error. and they both have the same values.
any explanation why we getting that on this server but didn’t get on the other server.
Thank you Marivn for writing!
This error mostly occurred due to sysctl.conf and limits.conf where not properly configured.
What is your kernel.sem ?
What is DB edition n version ?
$ ipcs ?
Consider following to understand more about it:
kernel.sem = 250 32000 100 128 >>>> This indicates that 250 semaphores can be accommodated in an array and maximum of 128 arrays can be in the system.
So, in total, 32000 (250X128) semaphores can present in the system.
Thus We need to increase the maximum number of arrays that can be present on the server.
Kindly follow the below steps:
1. Query the current semaphore values in the kernel
# /sbin/sysctl -a | grep sem
2. Modify SEMMNI value in the /etc/sysctl.conf.
From
kernel.sem = 250 32000 100 128
To
kernel.sem = 250 32000 100 200
3. # /sbin/sysctl -p
and try to create db.
Hi Jignesh,
Every body should edit in root user only, through putty i have changed but It will not work but though VM ware workstation now it will work.
After save the value which he given that we should use sysctl -p then only It will work other wise It wont work
SQL> startup
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: sskgpsemsper
[
[root@localhost etc]# sysctl -p
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 4294967295
kernel.shmall = 268435456
fs.file-max = 6815744
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.wmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_max = 1048576
fs.aio-max-nr = 1048576
kernel.sem = 250 32000 100 256
SQL> startup
ORACLE instance started.
Total System Global Area 313860096 bytes
Fixed Size 1336232 bytes
Variable Size 201329752 bytes
Database Buffers 104857600 bytes
Redo Buffers 6336512 bytes
Database mounted.
Database opened.
Thanks Regards,
Bala