Showing results for 
Search instead for 
Did you mean: 

need to add more memory?

Hanry Zhou
Super Advisor

need to add more memory?

the server performance on unix level looks alright, memory & cpu utilization all seems normal. however, Oracle 10g/ASM DBA feels need to add more memory to improve the performance.

I don't know what do say about this request. one side, I don't feel we have the need, and another side, if oracle has issues performance, then oracle needs to find a way to tune on database level. am i right?

What would you say?
Steven E. Protter
Exalted Contributor

Re: need to add more memory?


Ask your DBA to provide evidence to back his claim.

There are Oracle reports that can be run that will show if more memory will benefit the DB performance.

Collect some data yourself:

Many systems also collect measureware data that can be used to track performance.

Just because my DBA says so, I would not go to my boss and ask for money to spend on memory.

Modify to taste.

Steven E Protter
Owner of ISN Corporation
Honored Contributor

Re: need to add more memory?

I don't know what the request is based on. But, certainly adding memory is often a huge performance booster for Oracle databases. That is because more memory can allow the system to buffer I/O, sql calls, etc. than have to constantly reload these items from disk.

As far as "oracle" tuning on your database, that's what your DBA is for, and that's what he/she is doing - their job. Proper allocation and utilization of resources in respect regarding how to tune the performance of the database is very much a DBA job, and you must respect that role and enable them to do their job.

For instance, I've seen lots of cases where I/O speed is an issue on fully tuned databases. You then have a couple of choices, a) better faster I/O systems (expensive) or b) more ram.

Guess what? Ram is cheaper! And, on HP systems, it doesn't add to support costs. Disks, interface cards, and disk systems do!

So, listen to your DBA, that person can very well be justified in their need for ram, let them explain it to you and justify it. If they are unwilling to explain it to you - then you may be able to assume they just think it might help, and possibly don't know why they want more ram.

An example, suppose their current hit ratio for data blocks is 96%. Sounds good, right?
Well, maybe - you must consider that the above means that roughly 100% of your I/O on this box is consumed by the missing 4% of the hits. This means that if you could add ram and get the hit ratio up to 97%, then you'd reduce total I/O in the box by 25%, because you've removed 1/4 of your data block misses. And, if your system waits on the file I/O database could use a 25% reduction, then that ram is your answer.

Of course, the best reduction out there is making sure that the code is "tuned." But that, like using ram to decrease disk I/O follows the law of diminishing returns for the amount of effort required achieve the next reduction in I/O.

Good luck,

We are the people our parents warned us about --Jimmy Buffett
Honored Contributor

Re: need to add more memory?

> the server performance on unix level looks alright, memory & cpu utilization all seems normal.

If you are going to challenge the DBA you should be prepared to defend what you are saying about the server. You say the server looks normal but what exactly is the memory utilization? Do you have glance installed? If so run and observe. Post the output of swapinfo -tam
Honored Contributor

Re: need to add more memory?

But TTr, even if from a system standpoint memory utilization is fine (whatever that may mean), that doesn't mean its correct for making Oracle run properly, satifactorily, or - dare we say it, something approaching optimally.

An example: I can give you 1k of memory to run a program that you wrote in my 20Gb memory server, and while the server may look OK, it doesn't mean that the program is running properly. How much better would your program run if it had more useful memory segment sizes to operate and shuffle disk I/O less? How much more could you optimize your code if you had room to store the code in the heap?

I see this often in tuning of Java engines, just because the host OS environment of the java engine is looking good - doesn't meann that that Java engine performance itself is good.

Your DBA could very well use "more" to increase performance or avoid certain bottlenecks. Of course, it should be within a frame of feasibility, and not "gimme all you got" ad infinitum; and therefore needs to be demonstrated and justified. Or at least, be given test time somewhere for a what if analysis to see if the database would benefit from the resources. That is, if you give the resources, "something" should be better afterwards - have the DBA show you what that would be, and after the fact, show you what it actually is. If there is no improvement in these areas that he/she is looking to tune, then those resources should come back out of the allocation to the database.


We are the people our parents warned us about --Jimmy Buffett
Esteemed Contributor

Re: need to add more memory?

What is the oracle set for sga and what is OS set for shmmax?
Suraj K Sankari
Honored Contributor

Re: need to add more memory?


If you feel your system is ok no problem with memory, cpu and all then challenge your DBA and ask them after change of any hardware if the performance will same then who will take the responsibility.

Steven Schweda
Honored Contributor

Re: need to add more memory?

> [...] all seems normal [...]

Define "normal".

> [...] DBA feels need [...]

> [...] I don't feel [...]

If the problem is entirely a conflict of
feelings, then perhaps you two should visit a
counselor. If the real world matters, then
perhaps someone should collect some evidence
of something.
Kapil Jha
Honored Contributor

Re: need to add more memory?

what is the value of
dbc_max_pct and dbc_min_pct, if its high then you may face some memory issue.

It should be around 5-10% depend upon server and memeory installed.

I am in this small bowl, I wane see the real world......
Prasanth V Aravind
Trusted Contributor

Re: need to add more memory?

Dba might want to increase SGA value ... accordingly we have to increase shmmax parameter.

what "ipcs -mobp" showing ? Check does SGA is getting split or not ?