Re: ORA-04030 possible unix limits??

  • From: Henry Poras <henry.poras@xxxxxxxxx>
  • To: Vishal Gupta <vishal@xxxxxxxxxxxxxxx>
  • Date: Sun, 19 Mar 2017 23:07:03 -0400

Vishal,

Thanks for the suggestion. I checked my system and  both parameters are set
at 64K, however each PGA can grow to 32GB, not 4GB. Maybe they are obsolete?

Henry

On Sun, Mar 19, 2017 at 6:45 AM, Vishal Gupta <vishal@xxxxxxxxxxxxxxx>
wrote:

Please check *_realfree_heap_pagesize_hint *(at instance level) and*
vm.max_map_count * (cat /proc/sys/vm/max_map_count) at OS level.





*Maximum Process level PGA Memory* - By default each database process on
linux, can take up to  4GB of maximum PGA (Program Global Area) memory.
This maximum limit is determined (_realfree_heap_pagesize_hint at instance
level * vm.max_map_count at OS level) . Default of both these parameters is
64k, so we get default maximum each process level PGA of 4GB.



*vm.max_map_count* – defines the maximum number of VMAs (Virtual Memory
Areas) that a particular process can own. VMA is a continuous area of
virtual address space. This has a default value of 64k (65536)



*_realfree_heap_pagesize_hint* -  hint for real-free page size in bytes.
This has a default value of 64k (65536)



*Bug 11852492* : ORA-4030 OCCURS WHEN PGA EXCEEDS 4GB. This is not a bug,
but more of a default configuration, if one requires more than 4GB of PGA
memory then parameter needs to be adjusted.









Regards,

Vishal Gupta



*From: *<oracle-l-bounce@xxxxxxxxxxxxx> on behalf of Henry Poras <
henry.poras@xxxxxxxxx>
*Reply-To: *<henry.poras@xxxxxxxxx>
*Date: *Thursday, 16 March 2017 at 17:19
*To: *ORACLE-L <oracle-l@xxxxxxxxxxxxx>
*Subject: *ORA-04030 possible unix limits??



I am running on Oracle 12.1.0.2



We are currently getting 4030 (timobj call) which I have tracked to an
aggregate function which is instantiating lots of (untunable) pga memory.



Our pga_aggregate_target is 700GB and

our pga_aggregate_limit is 900G



We are not coming close to using our aggregate memory, yet the process is
erroring out at 32GB. I am trying to see if this is an Oracle limit (in the
past versions, this kind of untunable allocation would continue to rise) or
a linux one.



I have checked both ulimit -a and ulimit -Hm with both being unlimited.
Could there be another place that Linux is limiting the process? Has the
Oracle PGA allocation changed in 12c?



Thanks.



Henry



Other related posts: