Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: Log Switching

Re: Log Switching

From: Mladen Gogala <mgogala_at_earthlink.net>
Date: Wed, 05 May 1999 22:34:36 -0400
Message-ID: <3730FFBC.C39DC59C@earthlink.net>


Jurij Modic wrote:
>
> On Mon, 03 May 1999 20:50:10 GMT, Jonathan Ingram
> <jonathan.ingram_at_miname.com> wrote:
>
> >Jeremiah Wilton wrote:
> >
> >> Hmm, what is the LOG_CHECKPOINT_TIMEOUT parameter for then? Wouldn't it
> >> just do the same thing as your cron job?
> >
> >A checkpoint is not the same as a log switch. Setting LOG_CHECKPOINT_TIMEOUT merely
> >forces the database to perform extra checkpoints; it does not force a log switch to
> >occur. A checkpoint occurs when a log switch occurs by definition, but the reverse
> >is not true.
> >
> >Setting LOG_CHECKPOINT_TIMEOUT does causes checkpoints to occur at a specified
> >number of seconds. When a checkpoint occurs, LGWR writes the contents of the redo
> >log buffer to the online redo log.
>
> This is incorrect. Writing the contents of the redo log buffer to log
> files is not directly connected to the checkpoint event - redo log is
> written constantly (fixed timeout every couple of seconds, after each
> commit and when DBWR writes dirty buffers to the data files). During
> checkpoits only the file headers are updated and a list of dirty
> buffers is collected so that DBWR can flush all the dirty buffers to
> the disks. When this happens, the changes prior to that moment are not
> needed any more in case of a crash recovery. And that is the main and
> the only purpose of the checkpoint.

Checkpoints are recorded in control file as well and datafile headers are
updated. Checkpoints are EXTREMELY expensive events and too many of them can bring your system to a crawl. It's better to waste a gig or two then the whole system. My recommendations are to comment out log_checkpoint_timeout,
to set log_checkpoint interval to more then redo log file size in 512 byte blocks,
to set the size of each redo log member to at least 200MB (even 500MB is not
unreasonable) and to have at least 3 redo log groups, containing 2 members
each. For fine tuning (simultanous copies, small size, size of the redo log
buffer) better call in an expert.

>

<snip>
> Regards,
> Jurij Modic <jmodic_at_src.si>
> Certified Oracle7 DBA (OCP)
> ================================================
> The above opinions are mine and do not represent
> any official standpoints of my employer

--
Mladen Gogala Received on Wed May 05 1999 - 21:34:36 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US