Oracle uses this shared memory structure because it is a much more efficient way to share data between processes than other mechanisms.
The size of the SGA can be significant, easily reaching several hundred megabytes for a large database.
The SGA has a significant impact on database performance, and it's important to understand the various components so that you can size them properly. The next module covers the SGA in detail.
The (SGA) System Global Area is a group of shared memory areas that are dedicated to an
Oracle instance, which is an instance is your database programs and RAM.
All Oracle processes use the SGA to hold information and the SGA is used to store incoming data.
- the data buffers as defined by the db_cache_size parameter), and
- internal control information that is needed by the database.
You control the amount of memory to be allocated to the SGA by setting the Oracle
initialization parameters.
These may include
- db_cache_size,
- shared_pool_size and
- log_buffer.
In Oracle Database 10g you only need to define two parameters, namely
- sga_target and
- sga_max_size
to configure your SGA. If these parameters are configured, Oracle will calculate how much memory to allocate to the different areas of the SGA using a feature called (AMM) Automatic Memory Management .
As you progress you may want to manually allocate memory to each individual area of the SGA using the
initialization parameters.