Wednesday, 27 May 2015
ORA-04036: PGA memory used by the instance exceeds PGA_AGGREGATE_LIMIT
This error was faced when one customer was trying to load data into an Oracle 12 database.
From Oracle Database 12c, there is a new hard limit set for the size of PGA taken up by a particular instance. The parameter is called PGA_AGGREGATE_LIMIT.
Read up on this from the Oracle 12c reference.
oerr utility shows this:
$oerr ora 04036
ORA-04036: PGA memory used by the instance exceeds PGA_AGGREGATE_LIMIT
Cause: Private memory across the instance exceeded the limit specified in the PGA_AGGREGATE_LIMIT initialization parameter. The largest sessions using Program Global Area (PGA) memory were interrupted to get under the limit.
Action: Increase the PGA_AGGREGATE_LIMIT initialization parameter or reduce memory usage.
$ sqlplus / as sysdba
SQL*Plus: Release 12.1.0.1.0 Production on Wed May 27 12:38:28 2015
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
SQL> show parameter aggregate
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
pga_aggregate_limit big integer 6000M
pga_aggregate_target big integer 0
Resolution:
Set the parameter to 0 (pre-12c behaviour)
SQL> alter system set pga_aggregate_limit=0 scope=both;
System altered.
Another option is to increase the value if there is enough physical memory available to the database.
This resolved the issue and the customer was able to continue loading.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment