System Global Area


In the database management systems developed by the Oracle Corporation, the System Global Area forms the part of the system memory shared by all the processes belonging to a single Oracle database instance. The SGA contains all information necessary for the instance operation.

Components

In general, the SGA consists of the following:
From Oracle Database version 10g, Automatic Memory Management allows simplified and dynamic configuration of the SGA.

Granules

In the Oracle DBMS, the Oracle server allocates the system global area in granule units at the time of instance startup. During the startup, each component acquires as many granules as it requires. The SGA can be said to consist of linked granules. The granule size depends on the database version and sometimes on the operating system. In Oracle 9i and earlier, it is 4 MB if the SGA size is less than 128 MB, and 16 MB otherwise. For later releases, it is typically 4 MB if the SGA size is less than 1 GB, and 16 MB otherwise. There must be at least 3 granules in the SGA: one for the Database Buffer Cache, one for the Shared Pool Area and one for the Redo Log Buffer. It is possible to retrieve information about the current granule size at any time by querying the dynamic view V$SGAINFO.