Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: 10G - editing SPFILE
Holger Baer wrote:
> Howard J. Rogers wrote:
>> Holger Baer wrote: >> >> >> >>>In addition to what HJR said, lowering your sga_target changes nothing >>>with regard to the memory that gets allocated on instance startup. >> >> >> I don't think that's quite right, Holger. Not entirely, anyway. Here's a >> quick test: >>
>> >> So the "Total System Global Area" matches the 132M of the MAX_SIZE and >> not the 64M of the TARGET.
>> >> I find that confusing myself, since I would have thought TARGET was what >> you would originally get allocated, and MAX_SIZE just sets a ceiling on >> what you can expand to, dynamically, over time.
>> >> I've still to get my head around all this 10g automation, I guess! >> >> It does mean that your original statement is likely to be practically >> true for the OP. But as well as lowering his SGA_MAX_SIZE, he could >> abolish it altogether to allow the TARGET to kick in.
My understanding from SGA_MAX_SIZE's first appearance in 9i is that it is a conservative parameter: if it's not explicitly set, then it defaults to whatever the explicitly set various pools and caches actually add up to (giving you no 'growth room', because you're already at your allocation ceiling)..
That isn't, I don't think, any different from 10g. All SGA_TARGET is doing is specifying the starting size for those same various pools and caches, with the precise division of the total amongst each pool to be sorted out by Oracle itself automatically. So if TARGET is set, and MAX_SIZE isn't, the old 9i "I am the total of the pools and caches" behaviour still kicks in. It ends up *looking* as though TARGET is set to MAX_SIZE, but they aren't functionally linked, actually (or as you put it, they are "effectively" set to the same).
My further understanding was that TARGET doesn't have to be set at all, since it is an optional replacement for setting individual pool and cache sizes, and allows Oracle to dynamically and automatically shuffle memory around amongst those pools and caches (ie, it's the thing that makes automatic memory allocation happen).
And then just to confuse the matter even further, it is possible to set all the old manual parameters AND the TARGET, because in that case the old parameters simply define the *minimum* allocations that can be made to the various pools when under otherwise automatic management.
Regards
HJR
Received on Thu Oct 21 2004 - 06:19:09 CDT