Vous êtes sur la page 1sur 3

SGA

System Global Area (SGA) forms the part of the system memory (RAM) shared by all the
processes belonging to a single oracle database instance. The SGA contains all
information necessary for the instance operation.

As said above SGA is a memory area that contains data and control information for the
instance. Its includes data structures like...

--> Shared Pool

-->Database buffer Cache & nk Database buffer Cache.

-->Keep Buffer pool.

-->Recycle Buffer Pool.

-->Large Pool.

--> Java Pool.

-->Streams Pool.

--> Redo log Buffer Cache.

PGA

---> Its a private memory region containing data and control information for a server process.
Each server process has its own PGA and a Stack Space.

---> Stack space holds session variables and array.

---> Its stores session information like Sort area functions as order by and group by, Hash area
for performing hash joins of tables and creating BITMAP Indexes for solving bitmap
index execution plan.

---> This has two parameters to confgure---- >SORT_AREA_SIZE &


PGA_AGGREGATE_SIZE.

PGA_AGGREGATE_SIZE. default value is enabled. In this mode , automatic memory


management of PGA is dynamically set based on the 20% SGA memory.

---> Above Parameter can be disabled using the value 0 , and when its disabled we need to set
work area initiallisation parameter using sort_area_size. Then the PGA memory is allocated to
sort_area_size.
MEMORY_TARGET and MEMORY_MAX_TARGET

The Oracle documents state the following:

MEMORY_TARGET specifies the Oracle system-wide usable memory.


MEMORY_MAX_TARGET (…) decide on a maximum amount of memory that you would want to
allocate to the database for the foreseeable future.

So my guess is, MEMORY_MAX_TARGET (static) is the maximum you can set


MEMORY_TARGET (dynamic) to. A couple of days ago, I wanted to experiment a bit with these
memory settings.

* sga_max_size set the over all amount of memory the sga can consume but it
is not dynamic

* sga_max_size is allowed to resize sga memory but sga_target is set some


value there the ASMM ie enabled it can be adjusted up to sga_max_size
parameter not more than it MEMORY_TARGET &
MEMORY_MAX_TARGET

* If we set sga_max_size and pga_aggregate_target to 0 then


memory_target(optionally memory_max_target) to non-zero value,oracle
will manage both sga nd pga with their limit

* if we set memory_targer set 1024mb oracle will manage sga and pga
components within itself

* if memory_target is non-zero -SGA_TARGET, SGA_MAX_SIZE, and


PGA_AGGREGATE_TARGET are set to 0, 60% of memory mentioned in
MEMORY_TARGET is allocated to SGA and rest 40% is kept for PGA.
-SGA_TARGET and PGA_AGGREGATE_TARGET are set to non-zero
values, these values will be considered minimum values.

-SGA_TARGET is set to non-zero value and


PGA_AGGREGATE_TARGET is not initialised . Still these values will be
autotuned and PGA_AGGREGATE_TARGET will be initialized with the
value of (MEMORY_TARGET-SGA_TARGET).
-PGA_AGGREGATE_TARGET is set and SGA_TARGET is not initialised.
Still both parameters will be autotuned. SGA_TARGET will be initialized to
a value of (MEMORY_TARGET-PGA_AGGREGATE_TARGET).

SGA_TARGET = 256 M + 512M + 256 M + 16M + 16 M (fixed SGA overhead) = 1056 M

SGA Size total memory of 75%

Pga Size total memory of 25 %

Vous aimerez peut-être aussi