Srvctl Fails to Start Instance while sqlplus Works on Solaris

(Doc ID 603051.1)

Last updated on MARCH 18, 2013

Applies to:

Oracle Database - Enterprise Edition - Version 10.1.0.5 to 11.2.0.1 [Release 10.1 to 11.2]
Oracle Solaris on SPARC (64-bit)
Oracle Solaris on x86 (32-bit)
Oracle Solaris on x86-64 (64-bit)
Solaris Operating System (Intel)Solaris Operating System (SPARC) (64-bit)Solaris Operating System (x86-64)
Solaris Operating System (x86)Solaris Operating System (SPARC 64-bit)


Symptoms

Attempting to start an instance/database via 'srvctl' would fail as follows:

% srvctl start instance -d test -i test1
PRKP-1001 : Error starting instance test1 on node node1
CRS-0215: Could not start resource 'ora.test.test1.inst'.


There are two cases:
Case I:
alert.log shows:

WARNING: EINVAL creating segment of size 0x00000004e200c000
fix shm parameters in /etc/system or equivalent


RACG log under $ORACLE_HOME/log/<hostname>/racg/imon_<DBNAME>.log shows:

SQL> ORA-27102: out of memory
SVR4 Error: 22: Invalid argument
SQL> Disconnect'


Case II:
alert log shows:

Fri Jun 4 22:32:44 2010
Starting ORACLE instance (normal)


RACG log under $ORACLE_HOME/log/<hostname>/racg/imon_<DBNAME>.log shows:

2010-06-04 22:32:44.501: [ RACG][6] [18218][6][ora.test.test1.inst]:
SQL*Plus: Release 10.2.0.4.0 - Production on Fri Jun 4 22:32:44 2010

Copyright (c) 1982, 2007, Oracle. All Rights Reserved.

Enter user-name: Connected to an idle instance.

SQL> ORA-27102: out of memory
SVR4 Error: 28: No space left on device


However, starting the instance via sqlplus as oracle user works fine!

Changes

% cat /etc/procject shows ->
system:0::::
user.root:1::::
noproject:2::::
default:3::::process.max-file-descriptor=(priv,4096,deny)
group.staff:10::::
group.dba:100::::process.max-file-descriptor=(priv,4096,deny);process.max-sem-nsems=(priv,12000,deny
);process.max-sem-ops=(priv,4096,deny);project.max-sem-ids=(priv,4096,deny);project.max-shm-ids=(priv,4096,deny);project.max-shm-memory=(priv,30064771072,deny)

Project for the oracle user is correct..
You can verify an instance is using it if you start with sqlplus & then run ->
% ps -u oracle -o pid,user,project,args

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms