Granule (Oracle DBMS)

From Wikipedia, the free encyclopedia
Jump to: navigation, search

In computing, a granule is a unit of contiguous (adjacent/bordering) virtual memory allocated to a process.

In the Oracle DBMS, the Oracle server allocates the system global area (SGA) 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. [1] 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.[2]


  1. ^ "Granule". The Oracle FAQ. Retrieved 2009-04-11. 
  2. ^ "Determining the granule size on Oracle 10g". SUPINFO Oracle Laboratory. Retrieved 2009-04-11.