Solaris Swap Question, Oracle processes dying

Posted on 2007-10-03
Medium Priority
Last Modified: 2013-12-21
Hello, I am running Solaris 9 on a Sun Fire E20k with 64 Gigs of memory. My swap partition is 16 gigs. This server runs primarily Oracle databases but we have been having some trouble where new Oracle processes are dying with errors about not enough memory. I'm looking at the swap information as below, but `swap -l` is telling me I have 16 gigs of free swap space, while `swap -s` is telling me I only have about 6 1/2 gigs of free swap space. I realize that swap -s is including virtual memory, etc..., but it doesn't look like my physical swap partition is even being touched. Why is swap -s telling me I only have 6 or so gigs left of swap? This caused a problem the other day when swap -s was down to a few hundred megs, but swap -l still looked like it was untouched.

bash-2.05$ swap -l
swapfile             dev  swaplo blocks   free
/dev/md/dsk/d1      85,1      16 33560432 33560432

bash-2.05$ swap -s
total: 30387544k bytes allocated + 16178416k reserved = 46565960k used, 6351752k available

Thanks for any help on this and let me know if I can provide more information.

Question by:umfkit
LVL 40

Accepted Solution

omarfarid earned 2000 total points
ID: 20011059

This could be due to system wide (kernel) parameter related to semaphores or shared memory that you need to increase. It could be also related to Oracle SGA size. If you can give the exact Oracle error message, it might help in finding the exact problem.


Expert Comment

ID: 20017618

omarfarid is correct here, if you are running Solaris 9, check /etc/system and make sure the kernel parameters are tuned according to your Oracle installation. Also check to make sure you have allocated enough to your Oracle SGA. You really need to provide the ecact error message you received, was it an ORA message or was it something you saw in syslog?

Featured Post

Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Cursors in Oracle: A cursor is used to process individual rows returned by database system for a query. In oracle every SQL statement executed by the oracle server has a private area. This area contains information about the SQL statement and the…
When it comes to protecting Oracle Database servers and systems, there are a ton of myths out there. Here are the most common.
Via a live example show how to connect to RMAN, make basic configuration settings changes and then take a backup of a demo database
Video by: Steve
Using examples as well as descriptions, step through each of the common simple join types, explaining differences in syntax, differences in expected outputs and showing how the queries run along with the actual outputs based upon a simple set of dem…
Suggested Courses

850 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question