Operating System - HP-UX
1753797 Members
6846 Online
108799 Solutions
New Discussion юеВ

shmmax with Oracle Applications on hp-ux 11.11.

 
SOLVED
Go to solution
Stuart Abramson_2
Honored Contributor

shmmax with Oracle Applications on hp-ux 11.11.

I just read a ticket on shmmax with 32-bit oracle applications.

What should I set shmmax to if I'm running full 64-bit Oracle Applications 11i with Oracle 9i on hp-ux 11.11 with 12 GB RAM and 24 GB swap?

Someone suggested full memory + swap. In my case that would be 36 GB!
21 REPLIES 21
Tomek Gryszkiewicz
Trusted Contributor

Re: shmmax with Oracle Applications on hp-ux 11.11.

On my Oracle box (20 procs, 40GB) we set it to about 17GB - this value was suggested by one of the "Oracloids" :-)

-Tomek
Alzhy
Honored Contributor
Solution

Re: shmmax with Oracle Applications on hp-ux 11.11.

That would be correct. Although I doubt any DBA would actually size an Oracle instance to have an SGA (which takes 1 shared memory segment chunk)that will exceed available RAM.

For 32-Bit applications, it really does not matter but most Oracle documentation would recommend setting it to 4 GB (max address space for 32-bit apps?) regardless of memory installed .. Of course rarely these dyas you will find a DB server whose total VM is less than 4 GB anyway.

If you will be having multiple DB instances, make sure the total SGA sizes will not exceed installed RAM or encroach into swap area(s) -- use "swapinfo -atm". If you see your swap devices being used already -- chances are your total sum of your SHMEM segments (SGA mostly) have exceeded RAM and you're most likely be memory bound already.
Hakuna Matata.
Stuart Abramson_2
Honored Contributor

Re: shmmax with Oracle Applications on hp-ux 11.11.

Did they have some kind of formula?
Stuart Abramson_2
Honored Contributor

Re: shmmax with Oracle Applications on hp-ux 11.11.

Nelson, you said: "Although I doubt any DBA would actually size an Oracle instance to have an SGA (which takes 1 shared memory segment chunk)that will exceed available RAM."

Then:
1. If my RAM in 12 GB, but I use some of it for kernel space, process space, and buffer cache, I want to set my "shmmax" to, let's say, 8 GB.

2. If I have two (equal size) SIDs on the same machine, I would then set "shmmax" to 4 GB.

Does that sound right?
Jeff Schussele
Honored Contributor

Re: shmmax with Oracle Applications on hp-ux 11.11.

Hi Stuart,

I would find out what size SGA the DBAs are using & that would be the absolute minimum.
Depending on what that size is, throw extra in to cover any non-Oracle needs.

I've just heard from very reliable sources that Oracle 9i has some new tricks up it's sleeve that can really cause problems if you're not paying close attention
For EX:
Let's say the DBAs have set up a 10GB SGA & shmmax is set to the default 1GB. Oracle 9i will now - instead of erroring out - go ahead & create 10 1GB shmem segments & the resultant performance hit is devastating.

So consult with the DBAs on this & throw in extra for other overhead.

HTH,
Jeff
PERSEVERANCE -- Remember, whatever does not kill you only makes you stronger!
Alzhy
Honored Contributor

Re: shmmax with Oracle Applications on hp-ux 11.11.

Stuart,
Bear in mind that SHMMAX is not immediately allocated on boot time. It is just a guidance as to how large of a Shared Memory Segment can the kernel allow to be created. You can even declare it to be well larger than your VM (swap + memory) and the kernel will not complain. If I were you, the safest will be to set it to the size of your RAM. FOr some breathing room -- you could add half of your swap -- so 24 GB total SHMMAX.

Again, SHMMAX is not allocated at boot time. It is just a guidance.
Hakuna Matata.
Jean-Luc Oudart
Honored Contributor

Re: shmmax with Oracle Applications on hp-ux 11.11.

As mentioned, SHMMAX is a high water mark and the SGA should be limited by this value.

on 9i, the recommended size is same as available memory on the server.

source =metalink doc id 169706.1
Rgds,
JL
fiat lux
Jeff Schussele
Honored Contributor

Re: shmmax with Oracle Applications on hp-ux 11.11.

Hi Nelson/JL,

I don't agree that it should be set to those high values. I view shmmax the same as the maxXsiz parms - they're fences - fences to keep processes/application from monopolizing or exhausting system resources. In this case RAM. And they should be set to reasonable values agreed to by all parties & then all must be required to adhere to them.
Applications are like buffer cache in a sense, they're going to use all you allow them to & if you give them too much - they'll use it & the resultant consequences may not be desirable.

My 2 cents,
Jeff
PERSEVERANCE -- Remember, whatever does not kill you only makes you stronger!
Hein van den Heuvel
Honored Contributor

Re: shmmax with Oracle Applications on hp-ux 11.11.

Jeff wrote: "Let's say the DBAs have set up a 10GB SGA & shmmax is set to the default 1GB. Oracle 9i will now - instead of erroring out - go ahead & create 10 1GB shmem segments & the resultant performance hit is devastating."

Other replies imply this.

Balloney. You guys are seeing ghosts.
I challenge you to actually measure the difference between 1*10GB and 10*1GB.
Now if you made that 1000*10mb then that woudl matter, but as long as you have picked a reasonable value ( 500MB - 4GB ) then you will not be able to tell teh difference. Just let Oracle create multiple segments. No harm done and be more assured that an other application will not go too wild.

The suggestion to set shmmax to physical memory + swap borders on the insane!

hth,
Hein.