ORA-700 [sms physmem limit] / [pga physmem limit] Errors while Starting the Database (Doc ID 2610312.1)
In this Document
Symptoms
Changes
Cause
Solution
References
APPLIES TO:
Oracle Database - Enterprise Edition - Version 19.3.0.0.0 and later
Information in this document applies to any platform.
SYMPTOMS
When attempting to start the database, the following error occurs:
SGA_MAX_SIZE specified is high
ORA-00700: soft internal error, arguments: [sms physmem limit], [343597383680], [324613786828], [], [], [], [], [], [], [], [], []
OR
ORA-00700: soft internal error, arguments: [pga physmem limit], [12884901888], [12070720921], [], []
CHANGES
CAUSE
The issue is caused by overall memory configuration, i.e. the SGA TARGET + PGA LIMIT total is greater than system's memory limit.
In this case, the total SGA + PGA memory allocated to the database is around 350GB which is over 90% of the total physical memory.
----- Beginning of Customized Incident Dump(s) -----
WARNING: SGA_MAX_SIZE (327680 MB) is too high - it should be
less than 309575 MB (80 percent of physical memory).
SOLUTION
Oracle 12c introduced the parameter PGA_AGGREGATE_LIMIT to allow database administrators to limit (hard limit) the aggregate PGA (Program Global Area) memory usage. If the PGA_AGGREGATE_LIMIT value is exceeded, the Oracle database will abort or terminate the sessions or processes that are consuming the most untunable PGA memory.
Refer to the following documents for more details on memory parameters configuration settings:
- Limiting Process Size with Database Parameter PGA_AGGREGATE_LIMIT (Document 1520324.1)
- Automatic Memory Management (AMM) SGA and PGA Management in 11g and Above (Document 1392549.1)
Make sure that the overall SGA+PGA total is less than 80% of the overall total physical memory. The OS processes need a sufficient amount of memory.
This is a warning message which will be reported in the alert log file if the overall memory crosses 80%.
Total memory = 100%
Reserved for OS = 20%
Out of the remaining 80%
PGA_AGGREGATE_TARGET = 50% of 80%
SGA_TARGET = 50% of 80% of total memory
For example, the following settings can be used to startup the instance:
PGA_AGGREGATE_TARGET = 25% of 85% total memory
PGA_AGGREGATE_LIMIT = 50% of 85% total memory
SGA_TARGET = 50% of 85% total memory
-OR-
PGA_AGGREGATE_TARGET = 33% of 85% total memory
PGA_AGGREGATE_LIMIT = 67% of 85% total memory
SGA_TARGET = 33% of 85% total memory
NOTE:
1. The above parameter settings should be tuned based on your system requirements.
2. In:
unpublished Bug 32255740 - PART: ORA 700 [SMS PHYSMEM LIMIT] AND ORA 700 [PGA PHYSMEM LIMIT]
(which was closed as Not a Bug), Development confirmed that this error is meant to indicate a configuration problem. The recommended configuration is:
"The threshold for the ORA-700 is that twice the PGA target plus the SGA size must be less than 90% of physical memory."