Pages

Thursday 10 May 2012

error ORA-27154: post/wait create failed while starting up database

We got below error while starting up the database.


$ sqlplus '/as sysdba'

SQL*Plus: Release 11.2.0.2.0 Production on Thu May 10 03:14:49 2012

Copyright (c) 1982, 2010, Oracle.  All rights reserved.

Connected to an idle instance.

SYS@BI2400R1 AS SYSDBA 10-MAY-12> 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: This is caused by Kernel parameter setting. Since we were running many databases on a server, we should check our semaphore. Recommended value is

# semaphores: semmsl, semmns, semopm, semmni 
kernel.sem = 250 32000 100 128

In our case it's 

$ /sbin/sysctl -a | grep sem
error: permission denied on key 'kernel.cad_pid'
kernel.sem = 250        32000   100     142

and still we were getting the error as more than 15 databases were running on the server.

We increased the value to 275 as below

# /sbin/sysctl -w kernel.sem=275
added this new value into /etc/sysctl.conf in order the changes persist after system boot
  
and then started the DB.

$ . oraenv
ORACLE_SID = [B12400D1] ? BI2400R1
The Oracle base remains unchanged with value /orasw/app/oracle_test
$ sqlplus '/as sysdba'

SQL*Plus: Release 11.2.0.2.0 Production on Thu May 10 03:18:24 2012

Copyright (c) 1982, 2010, Oracle.  All rights reserved.

Connected to an idle instance.

SYS@BI2400R1 AS SYSDBA 10-MAY-12> startup;
ORACLE instance started.

Total System Global Area 1603411968 bytes
Fixed Size                  2226912 bytes
Variable Size             788530464 bytes
Database Buffers          805306368 bytes
Redo Buffers                7348224 bytes
Database mounted.
Database opened.
SYS@BI2400R1 AS SYSDBA 10-MAY-12> exit


9 comments:

  1. Great! This helped me at the right time!

    ReplyDelete
  2. You are great its working fine for me as well

    ReplyDelete
  3. Fantastic! i had the same problem and boom solution is right infront of me; Big Thankyou!!!

    ReplyDelete
  4. This comment has been removed by the author.

    ReplyDelete
  5. Thank you as well! I shutdown my instance and was unable to get it back up until I read this article. I would also like to note to add all of the parameters you can use this string: # /sbin/sysctl -w kernel.sem="275 32000 100 142"

    ReplyDelete
  6. Thank it is working

    ReplyDelete