Oracle FAQ Your Portal to the Oracle Knowledge Grid

Home -> Community -> Mailing Lists -> Oracle-L -> Re: LOG FILE SYNC wait event

Re: LOG FILE SYNC wait event

From: Alberto Dell'Era <>
Date: Tue, 4 Sep 2007 21:03:24 +0200
Message-ID: <>

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:

"SGA_TARGET specifies the total size of all SGA components. If SGA_TARGET is specified, then the following memory pools are automatically sized:

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:

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.


On 9/4/07, Rich Jesse <> 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:
> >
> >
> >
> > "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"
Received on Tue Sep 04 2007 - 14:03:24 CDT

Original text of this message