Sunday, 16 September 2018

ORA-27154:

ORA-27154: post/wait create failed while starting up 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: sskgpcreate

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

No comments:

Post a Comment

Featured post

duplicate db from standy to other server

 Duplicate Testuat   $ export ORACLE_SID=Testuat3 $ sqlplus '/as sysdba' Testuat3 SQL> alter system set cluster_database=FALSE sc...