Re: SGA_MAX_SIZE vs. SGA_TARGET

  • From: frits.hoogland@xxxxxxxxx
  • To: Cee Pee <carlospena999@xxxxxxxxx>
  • Date: Sat, 5 Sep 2015 21:38:51 +0200



Verstuurd vanaf mijn iPad

Op 5 sep. 2015 om 21:21 heeft Cee Pee <carlospena999@xxxxxxxxx> het volgende
geschreven:

How does that work in AIX? If SGA_MAX_SIZE is set at 20G and SGA_TARGET is
10G, does it allocate 10G and let it go up and down, up to a maximum of 20G?
Sga_max_size must be equal or bigger than sga_target. When sga_target is set,
the structures inside the sga are sized automatically (known as ASMM). However,
SGA memory with the size of sga_target is actually used, not more.

Also if SGA_TARGET and SGA_MAX_SIZE are same, lets say 5Gb, then does oracle
guarantee SGA will not take more than 5Gb any time.
Outside of AMM (memory_target parameter set) the SGA is always statically
allocated at startup.



On Sat, Sep 5, 2015 at 1:30 PM, <frits.hoogland@xxxxxxxxx> wrote:


Verstuurd vanaf mijn iPad

Op 5 sep. 2015 om 20:07 heeft Dba DBA <oracledbaquestions@xxxxxxxxx> het
volgende geschreven:

Was really getting worried I was senile and was going to start drooling on
myself. I knew I was able to get memory to allocate and deallocate in the
past. It was on Solaris.

Does anyone know why this varies by unix/linux flavor? What is solaris
doing that Linux does not?
Every Unix like platform oracle is on has a HP implementation. Because the
implementation is depended on cpu huge page support and the implementation
in the operating system, you will see changes in how oracle is able to use
it, because it is depended on them.

On Solaris (only I believe) PGA can be allocated in HP.

On Sat, Sep 5, 2015 at 1:54 PM, Neil Chandler <neil_chandler@xxxxxxxxxxx>
wrote:
It depends upon your platform. Most platforms allocate max_size so having
a lower sga_target is pointless and a waste of memory. Some platforms do
not (Solaris), and only allocate sga_target, with max_size an unused top
limit.

Neil.
sent from my phone

On 5 Sep 2015, at 18:51, Dba DBA <oracledbaquestions@xxxxxxxxx> wrote:

yeah this is old. I know its on the web. However, the responses I see
are not to the question I have.

What is the point to having two parameters? If SGA_MAX_SIZE reserves
memory for oracle as an upper bound, but would I want to be able to
raise and lower SGA_TARGET? What do I do with the 'spare memory'.
PGA_AGGREGATE_TARGET is separate and not taken from memory reserved with
SGA_MAX_SIZE

db_cache,shared_pool, large_pool,streams, java, etc... all come out of
SGA_TARGET. So what is the point to this? I am missing something.

I have I have 20 GB SGA_MAX_SIZE and a 10 GB SGA_TARGET. What is oracle
doing with the other 10 GB?



Other related posts: