2.232 MEMORY_SIZE

MEMORY_SIZE specifies the size of instance-wide usable memory.

Property Description

Parameter type

Big integer

Syntax

MEMORY_SIZE = integer [K | M | G]

Default value

0

Modifiable

You can use ALTER SYSTEM to increase or decrease the value of this parameter. However, the value of this parameter must always be greater than or equal to its value at instance startup.

Modifiable in a PDB

No

Range of values

1536 MB to MEMORY_MAX_SIZE

Basic

No

Oracle RAC

Different instances can use different values.

In a text-based initialization parameter file, if you omit MEMORY_MAX_SIZE and include a value for MEMORY_SIZE, then the database automatically sets MEMORY_MAX_SIZE to the value of MEMORY_SIZE. If you omit the line for MEMORY_SIZE and include a value for MEMORY_MAX_SIZE, the MEMORY_SIZE parameter defaults to 0. After instance startup, you can dynamically change MEMORY_SIZE to a nonzero value, provided that it does not exceed the value of MEMORY_MAX_SIZE.

Based on the value of MEMORY_SIZE, the values for the SGA and PGA parameters SGA_TARGET and PGA_AGGREGATE_LIMIT will be calculated internally for the instance. The sizing will also depend on the large page settings.

When MEMORY_SIZE is set to a nonzero value, the CDB-level values for the following SGA and PGA parameters will be ignored by the database: SGA_MAX_SIZE, PGA_AGGREGATE_LIMIT, and SGA_TARGET. If you assign a value to any of these parameters at the time of instance startup, the database will not report an error, but the parameter value will be ignored. If you dynamically modify any of these parameters, an error will be reported.

When MEMORY_SIZE is set to a nonzero value, the MEMORY_MAX_TARGET and MEMORY_TARGET parameters should be set to 0. If you attempt to set either of these parameters to a nonzero value, the request will be ignored, and a warning will be written to the alert log at startup.

Note:

This parameter is available starting with Oracle Database 23ai.

See Also:

"MEMORY_MAX_SIZE"