Shared Memory Management of the SGA
If automatic memory management is not enabled, then the system must use shared memory management of the SGA. Shared memory management is possible in either of the following forms:
-
Automatic shared memory management
This mode enables you to exercise more direct control over the size of the SGA and is the default when automatic memory management is disabled. The database tunes the total SGA to the target size and dynamically tunes the sizes of SGA components. Oracle Database remembers the sizes of the automatically tuned components across instance shutdowns if you are using a server parameter file.
-
Manual shared memory management
In this mode, you set the sizes of several individual SGA components and manually tune individual SGA components on an ongoing basis. You have complete control of individual SGA component sizes. The database defaults to this mode when both automatic memory management and automatic shared memory management are disabled.
Memory Management of the Instance PGA
If automatic memory management is not enabled, then the following modes are possible for management of PGA memory:
-
Automatic PGA memory management
When automatic memory management is disabled and
PGA_AGGREGATE_TARGET
is set to a nonzero value, the database uses automatic PGA memory management. In this mode, thePGA_AGGREGATE_TARGET
specifies a target size for the instance PGA. The database then tunes the size of the instance PGA to this target and dynamically tunes the sizes of individual PGAs. If you do not explicitly set a target size, then the database automatically configures a reasonable default. -
Manual PGA memory management
When automatic memory management is disabled and
PGA_AGGREGATE_TARGET
is set to0
, the database defaults to manual PGA management. Previous releases of Oracle Database required the DBA to manually specify the maximum work area size for each type of SQL operator (such as a sort or hash join). This technique proved to be very difficult because the workload is always changing. Although Oracle Database supports the manual PGA memory management method, Oracle strongly recommends automatic memory management.
Table 18-1 Memory Management Methods
Instance | SGA | PGA | Description | Initialization Parameters |
---|---|---|---|---|
Auto |
n/a |
n/a |
The database tunes the size of the instance based on a single instance target size. |
You set:
|
n/a |
Auto |
Auto |
The database automatically tunes the SGA based on an SGA target. The database automatically tunes the PGA based on a PGA target. |
You set:
|
n/a |
Auto |
Manual |
The database automatically tunes the SGA based on an SGA target. You control the PGA manually, setting the maximum work area size for each type of SQL operator. |
You set:
|
n/a |
Manual |
Auto |
You control the SGA manually by setting individual component sizes. The database automatically tunes the PGA based on a PGA target. |
You set:
|
n/a |
Manual |
Manual |
You must manually configure SGA component sizes. You control the PGA manually, setting the maximum work area size for each type of SQL operator. |
You must manually configure SGA component sizes. You set:
|