Solved

Oracle Potential Server Performance Impact

Posted on 2009-07-07
13
388 Views
Last Modified: 2013-12-27
I have a Solaris 9 server which has three instances of Oracle, a Physical Standby and two development environments.  Following a power cut and UPS failure, my server began to run incredibly slowly following a reboot.  An output from "sar -g 5 5" and "prstat -s size -n 5" show that my server is paging and the top memory resources are Oracle.  The only instance up at the moment is the physical standby.  I am also running a restore from tape to the server.

Is this likely to be an issue with the DR instance? What would be the best way to resolve the issue? Recreate the physical standby?

Thanks,

Terry
michaelt@colt: /d10/oracle/proddata

$ sar -g 5 5
 

SunOS colt 5.9 Generic_122300-10 sun4u    07/07/2009
 

09:34:37  pgout/s ppgout/s pgfree/s pgscan/s %ufs_ipf

09:34:42   336.88  5265.48  5640.63 428815.75     0.00

09:34:47   430.27  6682.62  7222.07 411592.19     0.00

09:34:52   442.72  6929.51  7306.21 320783.28     0.00

09:34:57   427.18  6656.50  7055.53 301319.03     0.00

09:35:03   290.65  4474.66  4975.00 332370.56     0.00
 

Average    383.01  5960.94  6400.87 357967.91     0.00

michaelt@colt: /d10/oracle/proddata

$ prstat -s size -n 5

   PID USERNAME  SIZE   RSS STATE  PRI NICE      TIME  CPU PROCESS/NLWP

 14997 oracle   3636M 3556M sleep   59    0   0:01:01 0.0% oracle/71

   889 oracle   3611M 3556M sleep   59    0   0:01:35 0.0% oracle/258

 15017 oracle   3611M 3556M sleep   59    0   0:00:12 0.0% oracle/11

 14963 oracle   3611M 3557M sleep   59    0   0:00:00 0.0% oracle/11

   918 oracle   3609M 3549M sleep   59    0   0:00:01 0.0% oracle/1

Total: 124 processes, 633 lwps, load averages: 4.14, 3.20, 2.15

Open in new window

0
Comment
Question by:gflmartins
  • 5
  • 4
  • 2
  • +1
13 Comments
 
LVL 47

Expert Comment

by:schwertner
ID: 24792481
Please check the network parameters and the NIC cards.
Are they working properly?
Are the parameters correct?

Also check the sessions on the servers:

SELECT count(*) FROM v$session;

The memory should be used up to the last byte - this is the normal behavior of Unix.
But paging is not good.
0
 
LVL 40

Expert Comment

by:mrjoltcola
ID: 24793644
What is the overall system memory usage? It may be that you configured Oracle with too much memory and it did not take affect until the restart. Perhaps someone modified init settings with "alter system .. scope = spfile", so they did not affect until reboot.
0
 

Author Comment

by:gflmartins
ID: 24793787
well sga_max_size is set to 3673741824 whilst shminfo_shmmax is a massive 9663676416 as the /etc/system file was taken from a production system.  The server itself has only 4GB or RAM so I figure, it has over allocated shmmax thus forcing everything else to page into virtual memory (as is currenlty happening on an idle db with no users logged on or requests running).

do you aggree?
0
 
LVL 40

Expert Comment

by:mrjoltcola
ID: 24793835
Yes! That is way too much memory your SGA_MAX_SIZE should _never_ be larger than your physical memory size. Oracle will just use the virtual memory with no regard to physical vs swap space

That is your problem.
0
 
LVL 40

Accepted Solution

by:
mrjoltcola earned 250 total points
ID: 24793860
Also my rule of thumbs:

1) Dedicated DB server I always leave at least 25% free memory overhead, and that may vary depending on other factors. For machines with 4GB total RAM or less, I leave 1.5GB free for OS. Windows needs this much.

2) On shared DB server (with other apps) I never dedicate more than 50% RAM to Oracle, and again that changes with other apps as well.
0
 

Author Comment

by:gflmartins
ID: 24793865
SGA_MAX_SIZE is slightly smaller than virtual memory, it is shminfo_shmmax  which is ridiculously high.  Does this basically have the same outcome?

Thanks,

Terry
0
How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

 
LVL 40

Expert Comment

by:mrjoltcola
ID: 24793901
Even if SGA_MAX_SIZE is slightly smaller, this may not leave enough overhead for:

1) PGA
2) Oracle process overhead
3) Other OS  / kernel processes
4) Other applications

So I recommend decrease SGA to no more than 50% of total RAM or you will have the problems you see. For 4GB RAM I recommend a 2GB or less SGA.
0
 

Author Comment

by:gflmartins
ID: 24793948
That certainly sounds feasible - I will look into changing this now and see what the results are.  Thanks mrjoltcola :)
0
 
LVL 34

Assisted Solution

by:johnsone
johnsone earned 250 total points
ID: 24794009
Is your physical standby open for read only operations?  If not, then you can reduce the SGA to a very small size (say 300M or even smaller).  The database is only in recovery mode an does not require a large SGA.
0
 

Author Comment

by:gflmartins
ID: 24794049
Hi,
No the physical standby is just mounted as standby database and not openned.  I will have two development instances on this server once I have sorted out the performance issues as well so any space will be graciously received.

Thanks,

Terry
0
 
LVL 34

Expert Comment

by:johnsone
ID: 24794194
Then there is definitely no need for an SGA that large.  Cut it way down.
0
 

Author Comment

by:gflmartins
ID: 24794204
Good advice - thanks Johnsone
0
 
LVL 47

Expert Comment

by:schwertner
ID: 24795483
SGA is too big. Take in account that every connection uses 2-5 MB RAM.
Will recommend smaller SGA, because due the latches big SGA works slower.
Also use automatic memory allocation that will dinamically change the size of the SGA caches.
0

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

Every server (virtual or physical) needs a console: and the console can be provided through hardware directly connected, software for remote connections, local connections, through a KVM, etc. This document explains the different types of consol…
APEX (Application Express) is used to develop a web application from Oracle. SQL Workshop is one of the tools that comes with Oracle APEX to query or modify the database objects or to make any changes to the structure.
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.
This video explains what a user managed backup is and shows how to take one, providing a couple of simple example scripts.

760 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

Need Help in Real-Time?

Connect with top rated Experts

20 Experts available now in Live!

Get 1:1 Help Now