System Global Area
The System Global Area (SGA) is a group of shared memory structures, known as SGA components, that contain data andcontrol information for one Oracle Database instance. The SGA is sharedby all server and background processes. Examples of data stored in the SGA include cached data blocks and shared SQL areas
Table 5-2 lists the components of the SGA.
Table 5-2 SGA Components
ComponentDescription Database buffer cache
Before data stored in the database can be queried or modified, it must be read from a disk and stored in the buffer cache. All user processes connected to the database share access to the buffer cache. For optimal performance, the buffer cache should be large enough to avoid frequent disk I/O operations.
Shared pool
The shared pool caches information that is shared among users:
SQL statements that can be reused
Information from the data dictionary such as user account data, table and index descriptions, and privileges
Stored procedures, which are executable code that is stored in the database
Redo log buffer
This buffer improves performance by caching redo information until itcan be written to the physical online redo log files stored on disk. Redo information and online redo log files are discussed in "About Online Redo Log Files".
Large pool
This optional area is used to buffer large I/O requests for various server processes.
Java pool
The Java pool is an area of memory that is used for all session-specific Java code and data within the Java Virtual Machine (JVM).
Streams pool
The Streams pool is an area of memory that is used by the Oracle Streams feature. For more information about Oracle Streams, see Oracle Streams Concepts and Administration.
Result cache
The result cache buffers query results. If a query is run for which the results are stored in the result cache, then the database returns the query results from the result cache instead of rerunning the query. This SGA component speeds the execution of frequently run queries.
See Also:
"About Instance Memory Structures"
Oracle Database Concepts for more information about the SGA
Program Global Area
A Program Global Area (PGA) is a memory region that contains data and control information for a server process. It is nonshared memory created by Oracle Database when aserver process is started. Access to the PGA is exclusive to the serverprocess. There is one PGA for each server process. Background processesalso allocate their own PGAs. The total PGA memory allocated for all background and server processes attached to an Oracle Database instance is referred to as the total instance PGA memory, and the collection of all individual PGAs is referred to as the total instance PGA, or just instance PGA.
The amount of PGA memory used and the contents of the PGA depend on whether the instance is running in dedicated server or shared server mode.
The PGA is used to process SQL statements and to hold logon and othersession information. A large part of the PGA is dedicated to SQL work areas, which are working memory areas for sorts and other SQL operations.