|
|
ORA-27102: out of memory tips
Oracle Error Tips by Stephanie F.
|
First solution by Mircea Vutcovici
I got the ORA-27102 error upon instance startup:
SQL> startup
ORA-27102: out of memory
Linux-x86_64 Error: 28: No space left on device
My OS is Red Hat Linux (RHEL 5.4 x64), and I?ve traced the sqlplus
process and here was the error:
shmget(0x37ed6a3c, 1243611136, IPC_CREAT|IPC_EXCL|SHM_HUGETLB|0600) = -1
ENOSPC (No space left on device)
The solution was to increase
kernel.shmall from 2097152 (as it is in the install doc for oracle 10h and
oracle 11g) to 4194304. Probably is better to leave the RHEL5 default which
is 4294967296
The issue is documented online:
?Upon startup of Linux database get ORA-27102: out of
memory Linux-X86_64 Error: 28: No space left on device"
The Oracle docs note this on the
ORA-27102 error:
- ORA-27102: out of memory
-
-
Cause: Out of memory
-
-
Action: Consult the trace file for details
On the
Oracle DBA-Forums,
a user posts that he has been confronted by ORA-27102. He is unsure how to
resolve this error because the database had previously worked, and ORA-27102
seemed particularly strange because he assumed he had plenty of storage on his
machine. The error details were as follows:
C:\Oracle\ora92\bin>SQLPLUS /NOLOG
SQL*Plus: Release 9.2.0.5.0 - Production on Wed Mar 22 15:59:00 2006
Copyright - 1982, 2002, Oracle Corporation. All rights reserved.
SQL> conn / as sysdba
Connected to an idle instance.
SQL> startup pfile=H:\Oracle\Database\pfile\initGOLDMINE.ORA
ORA-27102: out of memory
OSD-00029: Message 29 not found; product=RDBMS; facility=SOSD
O/S-Error: (OS 8) Not enough storage is available to process this command.
My OS is windows XP oracle version 9.2.0.5
I have NOT set LOCK_SGA in init.ora file.
The resolution for ORA-27102 came when the user
"reduced sga_max_size from 1.8g to 1g. restarted db and it is open now"
but they were still unsure whether there could be more SGA than 2g in Windows
XP, and what the OS limitation was.
A replier answered the question in full by
offering this information:
The 32 bit maximum is 4GB, but windows
breaks this into 2GB chunks. Looks like you know about the switch in your
boot.ini that allows 3GB, and there's also a system called AWE (address
windows extension) which allows the 2GB to RAM max to map out to up to 64GB
RAM. Even though you can only have 2GB in USE at a time, it can "map" to
more.
The replier also referred the user to this link
to help understand the limitations behind ORA-27102:
http://www.dba-oracle.com/oracle_tips_awe.htm