首页 > Linux操作系统 > Linux操作系统 > 【遇到问题】ORA-27102 ORA-01034

【遇到问题】ORA-27102 ORA-01034

原创 Linux操作系统 作者:kankanhoney 时间:2011-06-30 15:40:55 0 删除 编辑


ORA-27102: out of memory  ORA-01034: ORACLE not available


oracle@linux:/u01/app/oracle/admin/orcl/bdump> uname -a

Linux linux 2.6.5-7.308-bigsmp #1 SMP Mon Dec 10 11:36:40 UTC 2007 i686 i686 i386 GNU/Linux



oracle@linux:/u01/app/oracle/admin/orcl/bdump> cat /proc/meminfo

MemTotal:      8302360 kB

MemFree:       3788908 kB

Buffers:        138968 kB

Cached:        4003872 kB

SwapCached:          0 kB


oracle@linux:/u01/app/oracle/admin/orcl/bdump> free -m

             total       used       free     shared    buffers     cached

Mem:          8107       4407       3700          0        135       3910

-/+ buffers/cache:        361       7745

Swap:         4102          0       4102


本系统物理内存为8G swap4G。这里说明一下,一般oracle对于硬件的要求为:

1.       至少有1024MB的物理内存

2.       Swap的大小设置1024 MB 2048 MB 1.5 RAM2049 MB 8192 MB 等于 RAM大于 8192 MB 0.75 RAM oracle10g以后oracle也是安装这个公式来chenck.

3.       /tmp 目录中至少有400 MB空闲磁盘空间

4.1.5 GB 3.5 GB 的磁盘空间用于安装 Oracle 数据库软件

因此我的系统系统工程师swap设置少,因此在我安装oracle10G check的时候提示swap空间不够。




There  is not enough SHM (max-shm-memory) for the SES install. SES will try to allocate 40% of the installed RAM for SGA.  For example, if the installed RAM is 60GB.  SES will attempt to allocated approximately 24GB for SGA.  If it is not available, you will receive the out of memory error.


The following runInstaller syntax can be used to cap the SGA during installation to avoid this error.

./runInstaller n_maxMemoryInMB=4000

This will cap the SGA at 4GB.  The out of memory error should not be encountered again.  The above syntax can be run with a smaller value as well depending on your environment.  However, the recommendation would be to not specify anything less than 2GB as this could lead to memory errors post-install.



linux:~ # df -h

Filesystem            Size  Used Avail Use% Mounted on

/dev/sda3              99G  2.8G   91G   3% /

tmpfs                 4.0G  8.0K  4.0G   1% /dev/shm

/dev/sda1            1012M   39M  922M   5% /boot

/dev/sda5             299G  3.6G  280G   2% /u01

建库时我的sga选为typcial模式自动分配oracle内存区大小,oracle会默认将sga大小设为物理内存的40%8G*40%=2048M ,sga+pga=28480M ,而我的shm=4G,所以不存在SHM is not enough 的情况。


Applies to:

Oracle Server - Enterprise Edition - Version: to - Release: 9.2 to 11.1

Linux x86

***Checked for relevance on 16-Nov-2010***


While creating a database using the Database Configuration Assistant (DBCA) or manually, the following error can occur:

    ORA-27102: out of memory


For 32 bit systems running the smp kernel, we cannot have an SGA > 1.7 GB directly.

This is because of limitation of 32 bit systems of not being able to address memory > 4GB directly by a user process.

If SGA is kept higher than 1.7 GB, it will results in ORA-27102 errors.

While invoking DBCA to create a starter database, by default it takes 40% of memory for SGA.

Hence the size can accidentally exceed 1.7 GB


The workaround is to create a new database and specify the size of SGA approximate to be 1.5 to 1.7 GB.




SHM/dev/shm is nothing but implementation of traditional shared memory concept. It is an efficient means of passing data between programs. One program will create a memory portion, which other processes (if permitted) can access. This will result into speeding up things on Linux.

shm / shmfs is also known as tmpfs, which is a common name for a temporary file storage facility on many Unix-like operating systems. It is intended to appear as a mounted file system, but one which uses virtual memory instead of a persistent storage device.

If you type mount command you will see /dev/shm as a tempfs file system. Therefore, it is a file system, which keeps all files in virtual memory. Everything in tmpfs is temporary in the sense that no files will be created on your hard drive. If you unmount a tmpfs instance, everything stored therein is lost. By default almost all Linux distros configured to use /dev/shm.


Swap:这是系统的交换内存,当系统物理内存不够时将会充当内存使用, 因此可以理解为当/dev/shm空间不够时可以占用swap的空间,如果用到Swap时,系统的性能就有可能很低了。


来自 “ ITPUB博客 ” ,链接:,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录


  • 博文量
  • 访问量