Thursday, March 11, 2010

ORA-27102: out of memory

Recently tried starting up a newly create 9i (9.2.0.5) database instance and encountered the following:

oracle@ebs:/u01/oracle/devdb/9.2.0> sqlplus "/ as sysdba"
SQL*Plus: Release 9.2.0.5.0 – Production on Wed Feb 17 16:53:32 2010
Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.
Connected to an idle instance.
SQL> startup
ORA-27102: out of memory
Linux Error: 22: Invalid argument

This was installed on Red Hat Linux AS 4 U4 x86 with 8GB of RAM.

The solution was simply to adjust the SHMMAX kernel parameters. Basically, edit /etc/sysctl.conf and modify the following:

OLD:   kernel.shmmax = 4294967296
NEW:  kernel.shmmax = 2147483648

SHMMAX defines the maximum size (in bytes) of a single shared memory segment that a Linux process can allocate in its virtual address space. 32-bit Red Hat Enterprise Linux supports shared memory segments up to 4GB.

Per the Red Hat Knowledgebase:

If SHMMAX is set to a value larger then or equal to 4294967296 bytes (4 GB) on a 32-bit system, SHMMAX will be set to 0 bytes since it wraps around the 4 GB value. This means that SHMMAX should not exceed 4294967295 (one byte below 4 GB) on a 32-bit system.


Applicable Versions:
  • Oracle Database 9i (9.2.0.5)

Ahmed Aboulnaga

No comments: