ORA-27300: OS system dependent operation:fork failed with status: 12

今天查看一用户的alert日志,发现日志中有ora-27300错误,具体错误如下:

Errors in file /opt/app/oracle/admin/orcl/bdump/orcl1_psp0_544938.trc:
ORA-27300: OS system dependent operation:fork failed with status: 12
ORA-27301: OS failure message: Not enough space
ORA-27302: failure occurred at: skgpspawn3
Mon Dec  9 15:20:26 2013
Process PZ15 died, see its trace file
Mon Dec  9 15:20:26 2013
Process startup failed, error stack:
Mon Dec  9 15:20:26 2013
Errors in file /opt/app/oracle/admin/orcl/bdump/orcl1_psp0_544938.trc:
ORA-27300: OS system dependent operation:fork failed with status: 12
ORA-27301: OS failure message: Not enough space
ORA-27302: failure occurred at: skgpspawn3
Mon Dec  9 15:20:27 2013
Process PZ14 died, see its trace file
Mon Dec  9 15:20:27 2013
Process startup failed, error stack:
Mon Dec  9 15:20:27 2013
Errors in file /opt/app/oracle/admin/orcl/bdump/orcl1_psp0_544938.trc:
ORA-27300: OS system dependent operation:fork failed with status: 12
ORA-27301: OS failure message: Not enough space
ORA-27302: failure occurred at: skgpspawn3
Mon Dec  9 15:20:28 2013
Process PZ13 died, see its trace file
Mon Dec  9 18:10:24 2013
Thread 1 advanced to log sequence 14822


这个错误很典型,不同的提示有不同的解决方法, 具体可以看Troubleshooting ORA-27300 ORA-27301 ORA-27302 errors (Doc ID 579365.1),针对这个错误提示,有如下解释:

Database Cannot Start Due to Lack of Memory (Doc ID 560309.1) To Bottom
Modified:02-Mar-2013Type:PROBLEM

In this Document

  Symptoms
  Cause
  Solution
  References

This document is being delivered to you via Oracle Support's Rapid Visibility (RaV) process and therefore has not been subject to an independent technical review.

APPLIES TO:

Oracle Database - Enterprise Edition - Version 10.2.0.1 to 11.2.0.3 [Release 10.2 to 11.2]
Information in this document applies to any platform.
***Checked for relevance on 11-Jan-2012***


SYMPTOMS

The database cannot start up due to the following errors:

*** SERVICE NAME:(SYS$BACKGROUND) 2008-03-24 17:02:34.855 
*** SESSION ID:(1104.1) 2008-03-24 17:02:34.855 
*** 2008-03-24 17:02:34.855 
Process startup failed, error stack: 
ORA-27300: OS system dependent operation:fork failed with status: 12 
ORA-27301: OS failure message: Not enough space 
ORA-27302: failure occurred at: skgpspawn3 
*** 2008-03-24 17:02:38.158 
Process startup failed, error stack: 
ORA-27300: OS system dependent operation:fork failed with status: 12 
ORA-27301: OS failure message: Not enough space 
ORA-27302: failure occurred at: skgpspawn3 

CAUSE

This issue is mainly caused by lack of memory / swap. 
Checking the memory configuration on the server, the following was found:

Total Physical Memory 38912 MB 
Swap: Max Size 17664 MiB 

So, RAM is 38 GB, SWAP space is only 17 GB

SOLUTION

1- We should increase the server swap space (paging space). 
In 11.1 and 10.2, the general rule of thumb is that swap space should be:
RAM                              SWAP
1GB to 2GB                   1.5 times RAM 
> 2GB and <= 8GB          1 times RAM 
> 8GB                            .75 times RAM

In 11.2, it is:
RAM                              SWAP
1GB to 2GB                   1.5 times RAM 
> 2GB and <= 16GB        1 times RAM 
> 16GB                          16GB RAM

So in our case on 10.2, the recommended swap space should be 28 GB  instead of  17 GB 

2- We can also try to increase physical memory, if possible.

3- On Unix Platforms, the user limits  for user oracle should be checked using the "ulimit -a " command.

4- We should also check memory parameters in the pfile/spfile that may add more load to the memory consumption on the server.  For example setting the following parameters can add more overhead to memory consumption 

-  lock_sga=true 
-  db_keep_cache_size=<High Value >


可以看到,是由于swap设置不规范导致,当然在生产库上重新设置swap有风险,最简单的方式就是设置lock_sga=true,把SGA锁定物理内存里面!!



你可能感兴趣的:(ORA-27300: OS system dependent operation:fork failed with status: 12)