RE: Actually PGA allocated > PGA_AGGREGATE_TARGET ?

From: Jiang, Lu <>
Date: Tue, 11 Aug 2009 11:44:18 -0400
Message-ID: <>

Thanks Dion. The big PGA allocated could be caused by an apps bug.  

3GB switch is using on the DB machine so that about 2.7GB can be used for SGA, PGA and user connections. The statistics at the bottom was from two weeks ago. It looks OK now after I applied the apps patch to fix the connection leakage. I found db connection leakage caused by apps quite a while ago but was hesitated to apply the fix since it is One Off patch with some risk. After tested on a test environment for over one month I finally applied it on prod system 10 days ago. The patch fixed db connection leakage but caused another issue, fortunately another patch fixed it. The highest PGA allocated is below 1 GB so far and I will keep monitoring it.

The reason to migrate the DB to 64bit machine is that Oracle recommended pga_aggregate_target value for EBS prod database is recently changed to at least 2GB (it was 1GB). And also I am still seeing 'SGA/PGA was inadequately sized' messages from the DB diagnostic views. Really hope there is another way can work this out.      

From: Dion Cho [] Sent: Monday, August 10, 2009 11:14 PM
To: Jiang, Lu
Cc: Oracle-L Freelists
Subject: Re: Actually PGA allocated > PGA_AGGREGATE_TARGET ?  

As already pointed out, PAT is not a hard limit but just a TARGET.

The acutal maximum PGA size has no limit. You can eat up 10G of PGA even with 100M of PAT. The real question is "why you're using 1.3G of PGA in your app?".

Because you're on Win32, the actual OS limit would be around 1.5G(at default). You would hit ORA-4030 error with that size of PGA allocated. But it seems that you're not allocating that much memory until now.

Moving on to Win64 would eliminate the 1.5G limit, but that does not mean that you have no problem. If your application allocates too much memory compared with your physical RAM, you would see the heavy performance degradation by paging.

Dion Cho - Oracle Performance Storyteller (english) (korean) (japanese) (q&a)

2009/8/11 Jiang, Lu <>

Thanks for the help.  

The problem is that there is not enough memory to adequately size SGA and PGA due to Windows 32bit 3 GB limitation. I will migrate it to 64bit machine.    

From: Ric Van Dyke [] Sent: Monday, August 10, 2009 2:10 PM
To: Jiang, Lu; Oracle-L Freelists
Subject: RE: Actually PGA allocated > PGA_AGGREGATE_TARGET ?  

Key words that help in this is that it's a TARGET not a LIMIT. And as it says it "attempts" to stay below this. It can and will (as in your case) accede this.  

It looks like at one time oracle needed 1.3G and more recently it needed 1.2G but right now is using .9G. From this as a SWAG I'd say you should set PGA_AGGREGATE_TARGET to about 1.2G. The issue is that once you go above the target, I think it's SMON that will get excited about trying to bring the allocated back done. This would cause a little be more activity at the system level. However this is unlikely to be a big deal.  

Ric Van Dyke

Hotsos Enterprises


Hotsos Symposium

March 7 - 11, 2010

Be there.    

[] On Behalf Of Jiang, Lu Sent: Monday, August 10, 2009 1:56 PM
To: Oracle-L Freelists
Subject: Actually PGA allocated > PGA_AGGREGATE_TARGET ?  

Hi all,  

The following is my query result against v$pgastat view. PGA_AGGREGATE_TARGET is set to 1G. According to Oracle' documentation, Oracle should attempts to keep the amount of private memory below the PGA_AGGREGATE_TARGET specified. But from the following it looks Oracle allocated 1.2G PGA memory, and the maximum PGA allocated is 1.3GB which is far above 1G (PGA_AGGREGATE_TARGET), I am confused. Could anyone share some light on this?  

aggregate PGA target parameter



aggregate PGA auto target



global memory bound



total PGA inuse



total PGA allocated



maximum PGA allocated





Received on Tue Aug 11 2009 - 10:44:18 CDT

Original text of this message