Skip to Main Content

Oracle Database Discussions

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Why Does Oracle need SWAP?

674964Dec 10 2008 — edited Dec 11 2008
QUESTION: Why does Oracle Need SWAP?



****My Quest so far****

I have been researching into a problem that started with ORACLE

ORA-27300: OS system dependent operation:fork failed with status: 2
ORA-27301: OS failure message: No such file or directory
ORA-27302: failure occurred at: skgpspawn5
ORA-27303: additional information: skgpspawn5

Research have yielded the following answers:

SOURCE: http://www.dbasupport.com/forums/archive/index.php/t-53556.html

"simply_dba
12-07-2006, 12:31 AM
Hmmm.. unix is not able to fork. A typical memory shortage problem. try reducing memory parameters.check for any other processes running (other than oracle processes.) Also looks like you have hit the bug 3411021. Lookup in metalink."

-----------------------------

SOURCE: http://archive.netbsd.se/?ml=zones-discuss&a=2007-07&t=4765036

"Fork calls fail when there isn't enough swap space. It returns with error
ENOMEM, which is 12. The second failure in your log below returned a status
of 12."
--------------------------

SOURCE: 366644

"And this problem got resolved after increasing the paging space/swap space of the Aix system please check your system's swap space (recommended double of your real memory)"



So basically increase the swap to 2x RAM. My box has 32 Gigs of RAM, why does it still need swap? ORacle has been allocated 16 gigs and we're still hitting out of resources.

This message is most curious,

Dec 9 12:55:40 denopdb3 genunix: [ID 470503 kern.warning] WARNING: Sorry, no swap space to grow stack for pid 24027 (oracle)
Dec 9 12:55:41 denopdb3 genunix: [ID 470503 kern.warning] WARNING: Sorry, no swap space to grow stack for pid 24059 (oracle)

The best explanation I can find is from http://www.dba-oracle.com/t_server_swap_space_allocation.htm

"the Oracle installation documentation, we know that Oracle suggests that you configure a substantial amount of swap space.

*

If you have between 1 and 2G RAM, you need to configure 1.5x RAM for swap space.

*

For 2 to 8G RAM, swap space has to equal RAM.

*

For RAM more than 8G, swap needs to be ¾ RAM."

He then goes on to say "Despite what the official Oracle documentation says, my recommendation is that the minimum swap space should be equal to the available RAM, and 2x swap to RAM is the maximum amount that should be needed."

his explanation "Under Eager swap, as a process consumes memory, it also marks the same amount of swap space as used, so, for example, if your oracle database has 6G RAM allocated in the SGA, it will allocate both 6G RAM and 6G swap. If there is insufficient swap space, it won’t kill other processes to make space. It will lock up the program attempting to allocate space, and eventually any other processes on the system that need swap space will also hang. In Solaris, I have seen such errors as ‘unable to fork a process’ or Solaris error 12, not enough space. In oracle, you will get messages like this: TNS-12500, TNS-12540, TNS-12560, TNS-00510. Usually your server will lock up shortly after the note enough space or unable to fork a process message."

So my Oracle's allocation of 16 gigs also allocates 16 gigs of SWAP?


****END***

Thank you for taking the time to tackle my question.

Edited by: user1749433 on Dec 10, 2008 12:55 PM

Edited by: user1749433 on Dec 10, 2008 1:13 PM
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Jan 8 2009
Added on Dec 10 2008
12 comments
8,179 views