  | | | LOG FILE SYNC wait event | LOG FILE SYNC wait event 2007-09-05 - By DBA Deepak
Back Hi Alberto,
Thanks a lot for your explanations. Have few more queries on ASMM itself. Considering that we have set ASMM for our instance.
> When more memory requered in a particular pool which pool Oracle does choose to get the memory from? > Is there any priorities associated? > Why should we set the minimum values knowing that Oracle can adjust them as and when required?
Please help me in understanding the concepts.
Thanks in Advance
Deepak
On 9/5/07, Alberto Dell'Era <alberto.dellera@(protected)> wrote: > > From the Metalink note 373018.1 you suggested, I get this important > fragment: > "Oracle combines fixed SGA area and redo buffer together, if there is > a free space after Oracle put combined buffer to fit in granule, that > space is added to redo buffer" > so, the log_buffer initialization parameter is not really "ignored", > but rather, > is used as a minimum value - the log buffer size is that value plus > (possibly) any additional free space in the granule(s) used to store > the fixed SGA+log buffer. > > So this explains nicely DBA Deepak's test case. > > But back to one of the the original questions - is the log buffer > managed dynamically > by ASMM, that is, can its (real) size change after instance boot time, > stealing memory > from other pools, or giving it back, depending on the workload ? > If the documentation is consistent with the actual behavior (and I > always assume it is, > unless a convincing counterexample is presented), no: > > http://download.oracle.com/docs/cd/B19306_01/server.102/b14237/initparams192 .htm > > "SGA_TARGET specifies the total size of all SGA components. If > SGA_TARGET is specified, then the following memory pools are > automatically sized: > > * Buffer cache (DB_CACHE_SIZE) > * Shared pool (SHARED_POOL_SIZE) > * Large pool (LARGE_POOL_SIZE) > * Java pool (JAVA_POOL_SIZE) > * Streams pool (STREAMS_POOL_SIZE) > > If these automatically tuned memory pools are set to non-zero values, > then those values are used as minimum levels by Automatic Shared > Memory Management. You would set minimum values if an application > component needs a minimum amount of memory to function properly. > > The following pools are manually sized components and are not affected > by Automatic Shared Memory Management: > > * Log buffer > * Other buffer caches, such as KEEP, RECYCLE, and other block sizes > * Fixed SGA and other internal allocations > " > > So to recap - the log buffer size may be greater then log_buffer, and may > be > increased to make "fixed sga size" + "log buffer size" an exact multiple > of > a granule. This calculation is made at instance boot time; and the log > buffer > size is constant after the the instance has booted. > > HTH > Alberto > > > > > On 9/4/07, Rich Jesse <rjoralist@(protected)> wrote: > > If I'm not mistaken, log_buffer will be automagically sized at instance > > startup if using ASMM, effectively ignoring the setting of the > log_buffer > > parameter. This is eluded to in the paragraph below your reference: > > > > "The memory allocated to these pools [including log_buffer] is deducted > from > > the total available for SGA_TARGET when Automatic Shared Memory > Management > > computes the values of the automatically tuned memory pools." > > > > Also see MeatLink 373018.1. > > > > Someone please correct me if I'm wrong. (be gentle!) > > > > Rich > > > > > BTW The log buffer is not managed by the Automatic Shared Memory > Management > > > in 10gR2: > > > > > > > http://download.oracle.com/docs/cd/B19306_01/server.102/b14237/initparams192 .htm > > > > > > "The following pools are manually sized components and are not > > > affected by Automatic Shared Memory Management: > > > * Log buffer > > > > > > > > > -- > Alberto Dell'Era > "the more you know, the faster you go" >
-- Regards,
Deepak Oracle DBA
<div>Hi Alberto,</div> <div> </div> <div>Thanks a lot for your explanations. Have few more queries on ASMM itself. Considering that we have set ASMM for our instance. </div> <div> </div> <div>> When more memory requered in a particular pool which pool Oracle does choose to get the memory from?</div> <div>> Is there any priorities associated?</div> <div>> Why should we set the minimum values knowing that Oracle can adjust them as and when required?</div> <div> </div> <div>Please help me in understanding the concepts.</div> <div> </div> <div>Thanks in Advance</div> <div> </div> <div>Deepak<br><br> </div> <div><span class="gmail_quote">On 9/5/07, <b class="gmail_sendername">Alberto Dell'Era</b> <<a href="mailto:alberto.dellera@(protected)">alberto.dellera @(protected)</a>> wrote:</span> <blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0 .8ex; BORDER-LEFT: #ccc 1px solid">From the Metalink note 373018.1 you suggested , I get this important<br>fragment:<br>"Oracle combines fixed SGA area and redo buffer together, if there is <br>a free space after Oracle put combined buffer to fit in granule, that<br >space is added to redo buffer"<br>so, the log_buffer initialization parameter is not really "ignored",<br>but rather,<br>is used as a minimum value - the log buffer size is that value plus <br>(possibly) any additional free space in the granule(s) used to store<br>the fixed SGA+log buffer.<br><br>So this explains nicely DBA Deepak's test case .<br><br>But back to one of the the original questions - is the log buffer <br>managed dynamically<br>by ASMM, that is, can its (real) size change after instance boot time,<br>stealing memory<br>from other pools, or giving it back, depending on the workload ?<br>If the documentation is consistent with the actual behavior (and I <br>always assume it is,<br>unless a convincing counterexample is presented), no:<br><a href="http://download.oracle.com/docs/cd/B19306_01/server.102/b14237 /initparams192.htm">http://download.oracle.com/docs/cd/B19306_01/server.102 /b14237/initparams192.htm </a><br><br>"SGA_TARGET specifies the total size of all SGA components. If <br>SGA_TARGET is specified, then the following memory pools are<br >automatically sized:<br><br> * Buffer cache (DB_CACHE _SIZE)<br> * Shared pool (SHARED_POOL_SIZE) <br> * Large pool (LARGE_POOL_SIZE)<br> * Java pool (JAVA_POOL_SIZE)<br> * Streams pool (STREAMS_POOL_SIZE)<br><br>If these automatically tuned memory pools are set to non-zero values,<br>then those values are used as minimum levels by Automatic Shared <br>Memory Management. You would set minimum values if an application<br >component needs a minimum amount of memory to function properly.<br><br>The following pools are manually sized components and are not affected<br>by Automatic Shared Memory Management: <br><br> * Log buffer<br> * Other buffer caches, such as KEEP, RECYCLE, and other block sizes<br> * Fixed SGA and other internal allocations<br>"<br><br>So to recap - the log buffer size may be greater then log_buffer, and may be <br>increased to make "fixed sga size" + "log buffer size" an exact multiple of<br>a granule. This calculation is made at instance boot time; and the log buffer<br>size is constant after the the instance has booted. <br><br>HTH<br>Alberto<br><br><br><br><br>On 9/4/07, Rich Jesse <<a href= "mailto:rjoralist@(protected)">rjoralist@(protected)</a>> wrote:<br>> If I'm not mistaken, log_buffer will be automagically sized at instance <br>> startup if using ASMM, effectively ignoring the setting of the log _buffer<br>> parameter. This is eluded to in the paragraph below your reference:<br>><br>> "The memory allocated to these pools [including log_buffer] is deducted from <br>> the total available for SGA_TARGET when Automatic Shared Memory Management<br>> computes the values of the automatically tuned memory pools. "<br>><br>> Also see MeatLink 373018.1.<br>><br>> Someone please correct me if I'm wrong. (be gentle!) <br>><br>> Rich<br>><br>> > BTW The log buffer is not managed by the Automatic Shared Memory Management<br>> > in 10gR2:<br>> ><br> > > <a href="http://download.oracle.com/docs/cd/B19306_01/server.102 /b14237/initparams192.htm"> http://download.oracle.com/docs/cd/B19306_01/server.102/b14237/initparams192 .htm</a><br>> ><br>> > "The following pools are manually sized components and are not<br>> > affected by Automatic Shared Memory Management: <br>> > * Log buffer<br>><br>> <br>><br><br><br>--<br>Alberto Dell'Era<br>"the more you know, the faster you go"<br></blockquote></div><br><br clear="all"><br>-- <br >Regards,<br><br>Deepak <br>Oracle DBA
|
|
 |