ORA-27154 post/wait create failed

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.

10 thoughts on “ORA-27154 post/wait create failed

  1. Hi Jignesh,

    Thank you, its helps me clearing the error in a single step. Now i can able to connect

    Regards
    Harsha

  2. 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.

Leave a Reply

%d bloggers like this: