Oracle Articles, Oracle Tools, Oracle Tips, Database Articles and DBA Tips  

The Largest Online Resource for Oracle Articles, Oracle Tips, Oracle Scripts & Oracle Tools!!


Enter your Email:
 
Navigate at FreeMegaZone Home      Articles      Tools      Jobs      Games      Support      Submit Content      Advertise
Advertise at http://www.articles.freemegazone.com

Advertise at FreeMegaZone

Give tremendous boost to your business by advertising at FreeMegaZone. Contact webmaster@freemegazone.com

 


Rating: *****                                             Rate this article:    

Author: Jeff Patrick

If you are a database administrator that have used Oracle release prior to 10g then you must have encountered a tricky situation where your database gets crashed and you can not log into database due to Oracle failure to spawn error (skgpspawn failed). In this article we will discuss some great tips that will help you handle such situation.

When Oracle failure to spawn error is encountered then you get error messages as follows in your alert log.

skgpspawn failed:category = 27143, depinfo = 24, op = pipe, loc = skgpspawn2
skgpspawn failed:category = 27142, depinfo = 12, op = fork, loc =skgpspawn3 Article Continues below...

Basically these error messages indicate Oracle failure to spawn a shared server. This error is encountered due to lack of resources on your machine required for the servers to startup. The skgpspawn errors gets translated as follows

Oracle skgpspawn failed error Translated into

skgpspawn failed:category = 27143, depinfo = 24, op = pipe, loc = skgpspawn2

ORA-27143

OS system call failure

skgpspawn failed:category = 27142, depinfo = 12, op = fork, loc =skgpspawn3

ORA-27142

could not create new process

You will find failed operating system calls pipe() and fork() in the alert log due to lack of system resources. As a result of lack of system resources the operating system calls pipe() and fork() fail as there is not enough memory and swap available on the system and hence the shared servers are unable to start. If you are running dispatcher (MTS/Shared server) and more shared servers need to be started then they are automatically started up to the maximum number of servers specified in the INIT.ORA file.

A Windows port-specific bug (2441734) causes the setting of SQLNET.EXPIRE_TIME parameter to waste stack memory. As a result of this wastage the total number of connections which can be achieved gets reduced and you get skgpspawn error message. The skgpspawn failed error is fixed in Oracle10g and included in Oracle 9.2.0.3 patchset release. If patching is failed then you should check the parameters even if you haven't made any kernel changes. Oracle MAXUPRC and SHMMAX are dynamic and when you apply a patch and your kernel gets rebuilt then if some system file does not have the values of these parameters then they will be dropped back to their default values. Another solution is to set the SQLNET EXPIRE_TIME parameter to zero or completely remove it in your SQLNET.ORA file.

As we discussed earlier that Oracle failure to spawn a new server is a Windows resource issue. Therefore you need to have enough resources such as at least 500K RAM. Along with it you need to monitor the CPU consumption. Another solution to this problem is to re-boot the server and then start your database and the listener.

Yet there are some other solutions such as to increase the swap or memory or to reduce the number of shared servers that can be started. Read Again!!

 More Oracle Articles, Database Articles and DBA Tips
   Database Security: Step by step guideline
   What if your database lock gets blocked??
   SQL in Action I - Single Table Queries
   Exciting Oracle 11g features you should not miss to know!!
   Efficiently handle Tricky Data Guard Failures!!


FreeMegaZone Jobs!!

 

 
HOME      ABOUT US      SUPPORT      SITE MAP      PRIVACY POLICY      TERMS OF USE      SUBMIT CONTENT      ADVERTISE
Copyright © 2007 - 2010 Oriole Intellect Inc. All rights reserved.

The name Oracle is a trademark of Oracle Corporation. Any other names used on this website may be trademarks of their respective owners