Friday, October 17, 2008

LOG_BUFFER

Property

Description

Parameter type

Integer

Default value

512 KB or 128 KB * CPU_COUNT, whichever is greater

Modifiable

No

Range of values

Operating system-dependent

Basic

No

LOG_BUFFER specifies the amount of memory (in bytes) that Oracle uses when buffering redo entries to a redo log file. Redo log entries contain a record of the changes that have been made to the database block buffers. The LGWR process writes redo log entries from the log buffer to a redo log file.

In general, larger values for LOG_BUFFER reduce redo log file I/O, particularly if transactions are long or numerous. In a busy system, a value 65536 or higher is reasonable.

Note:

1. Related:    
   Parameter: LOG_ENTRY_PREBUILD_THRESHOLD
   Parameter: LOG_SIMULTANEOUS_COPIES
        
   Values above 1Mb are unlikely to yield significant benefit.
        
   The memory set aside for the log buffer may also be surrounded by 'guard' pages to help protect the redo buffer, hence the size of 'Redo Buffers' shown at instance startup may differ from the value of LOG_BUFFER set in the init.ora file.                
 
   The redo buffer helps absorb processing spikes. The memory-to-memory transfer (SGA/PGA to REDO BUFFER via SERVER) is much faster than memory-to-disk transfer (REDO BUFFER to REDO LOG via LGWR).  So if a process is making a lot of changes, the redo it generates will be written to a memory buffer. As the buffer fills up, the output process (LGWR) is awakened to empty the buffer. LGWR will need some lead time, since a sufficiently large transaction can generate redo faster than LGWR can write it to disk.  Hence the 1/3 full threshhold trips LGWR into action. 
 
   If you have small transactions each transaction COMMIT causes redo to be flushed to disk before the COMMIT returns control to the user.

2. Query for the current value of the parameter

select name, value, isdefault, isses_modifiable, issys_modifiable,

isinstance_modifiable, isdeprecated, description

from v$parameter

where upper(name) = ‘LOG_BUFFER’;

NAME

VALUE

IS

DEFAULT

ISSES_

MODIFIABLE

ISSYS_

MODIFIABLE

ISINSTANCE_

MODIFIABLE

IS

DEPRECATED

DESCRIPTION

log_buffer

14266368

FALSE

FALSE

FALSE

FALSE

FALSE

redo circular buffer size

Oracle initializatoin parameters

No comments:

Post a Comment