Howdy Don First, ORA-4030 is at PGA level. So, I am not sure why SHMMAX is playing a role in a 64 bit environment. Also, How much swap space is allocated? You can encounter ORA-4030 errors if the swap space is insufficient too. Further, You might want to understand which type of PGA heap is growing and ORA-4030 trace files usually can give you a good understanding of the growth Another option is to trigger PGA heapdump at a process level if ORA-4030 encountered. I just reviewed that note and it is for Linux x86 platform only. I would go with OSS recommendation. There is nothing wrong in having few more shared memory segments for an instance as long as SHMMAX is meaningful (like 4GB-1). Only downside is that each connect and disconnect will execute more attach and detach calls. This can be a problem in few applications with excessive concurrent connects and disconnects. But, that is an exception. I had encountered a client issue related to this setting, but this problem is rare though. http://orainternals.wordpress.com/2008/10/31/performance-issue-high-kernel-mode-cpu-usage/ Cheers Riyaj Shamsudeen Principal DBA, Ora!nternals - http://www.orainternals.com - Specialists in Performance, Recovery and EBS11i Blog: http://orainternals.wordpress.com OakTable member http://www.oaktable.com Co-author: "Expert Oracle practices: Oracle Database Administration from the Oak Table" http://www.apress.com/book/view/9781430226680 On Wed, Nov 18, 2009 at 8:56 AM, Don Seiler <don@xxxxxxxxx> wrote: > While troubleshooting an ORA-04030 issue, Oracle Support also took > notice that we had shmmax a bit out of whack. Whether or not this > would contribute to the 04030, I'll not get into right now. This is > Oracle 11.1.0.7 64-bit on OEL 5.3. The server has 64gb of physical > RAM. It hosts 3 RDBMS instances and 1 ASM instance, with a sum total > SGA sizes of ~42 gb and HugePages configured for 44gb. The largest > instance has an SGA of just under 30gb. > > OSS first suggested setting shmmax to "RAM times 0.5 but not greater > then 4GB-1" and then pointed me to Doc Id 567506.1: > > === BEGIN QUOTE === > Oracle Global Customer Support officially recommends a " maximum" for > SHMMAX of just less than 4Gb, or 4294967295. > > The maximum size of a shared memory segment is limited by the size of > the available user address space. On 64-bit systems, this is a > theoretical 2^64bytes. So the "theoretical limit" for SHMMAX is the > amount of physical RAM that you have. However, to actually attempt to > use such a value could potentially lead to a situation where no system > memory is available for anything else. Therefore a more realistic > "physical limit" for SHMMAX would probably be "physical RAM - 2Gb". > > In an Oracle RDBMS application, this "physical limit" still leaves > inadequate system memory for other necessary functions. Therefore, the > common "Oracle maximum" for SHMMAX that you will often see is "1/2 of > physical RAM". Many Oracle customers chose a higher fraction, at their > discretion. > > One last data point for 64-bit Linux systems: A SHMMAX value of 4Gb or > greater will lead to coredump limitations. If a customer is willing to > forfeit complete and successful core file generation under any and all > circumstances, then a SHMMAX value of 4Gb or greater is fine. It is > for this reason that Oracle Global Customer Support officially > recommends a " maximum" for SHMMAX of just less than 4Gb, or > 4294967295. > === END QUOTE === > > I'm wondering what the masters out in the field think. Would you > advise setting SHMMAX to fit the largest SGA? Is there any known > performance hit by having more, smaller segments for an instance > rather than 1 large one? > > -- > Don Seiler > http://seilerwerks.wordpress.com > ultimate: http://www.mufc.us > -- > //www.freelists.org/webpage/oracle-l > > >