Many of the parameters that control the size of the various parts of the SGA are dynamic;
however, if the parameter SGA_MAX_SIZE is specified, the total size of all SGA areas must not
exceed the value of SGA_MAX_SIZE. If SGA_MAX_SIZE is not specified, but the parameter SGA_
TARGET is specified, Oracle automatically adjusts the sizes of the SGA components so that the total
amount of memory allocated is equal to SGA_TARGET. SGA_TARGET is a dynamic parameter; it
can be changed while the instance is running. The parameter MEMORY_TARGET, new to Oracle
11g, balances all memory available to Oracle between the SGA and the Program Global Area
(discussed later in this chapter) to optimize performance.
Memory in the SGA is allocated in units of granules. A granule can be either 4MB or 16MB,
depending on the total size of the SGA. If the SGA is less than or equal to 128MB, a granule is
4MB; otherwise, it is 16MB.
In the next few subsections, we will cover the highlights of how Oracle uses each section in
the SGA. You can find more information on how to adjust the initialization parameters associated
with these areas in Chapter 8.
Buffer Caches
The database buffer cache holds blocks of data from disk that have been recently read to satisfy
a select statement or that contain modified blocks that have been changed or added from a DML
statement. As of Oracle9i, the memory area in the SGA that holds these data blocks is dynamic.
Pages:
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111