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: redo log "entry" = redo log "block" ?

Re: redo log "entry" = redo log "block" ?

From: Scott Martin <smartin_at_tlingua.com>
Date: 5 May 2004 20:43:12 -0700
Message-ID: <ec38c977.0405051943.7ffe79f2@posting.google.com>


spendius_at_muchomail.com (Spendius) wrote in message news:<aba30b75.0405022321.424a901d_at_posting.google.com>...
> "Howard J. Rogers" <hjr_at_dizwell.com> wrote...
> > And just as a peanut-sized text file written in notepad nevertheless has
> > to be stored in a complete file system block (or cluster), with
> > attendant issues of 'slack space' on your hard disk, so LGWR has to fill
> > a complete file system/redo log block even if the amount of redo being
> > flushed is tiny. Generally, file systems use 512 byte blocks, so the
> > smallest update will have to occupy 512 bytes of redo log space.
>
> So I guess that means there can be a lot of "redo entries" inside
> a "redo block" doesn't it ?

The size of Oracle "redo entries" is entirely unrelated to the physical block size of the logfile. Most redo entries are indeed relatively small, but some may be quite large depending upon the needs of the Oracle RDBMS developer. For example, I believe an index split records a copy of the parent branch block (maybe 8K big) in the "redo entry" for recovery purposes. Redo entries often span redo block boundaries. Also redo blocks need not be completely full to be written. For example, a "COMMIT" will force a redo write, and on a quiet system the block is not likely to be full. In a busy system, the commit entry will likely be bundled with changes from other transactions so very little, if any, space would be "wasted".

It's probably best to think of a stream of redo entries as being entirely unrelated in form to redo blocks. The redo stream is simply "laid" out as it falls onto redo blocks (often causing individual record records to land on more than one block). The redo blocks themselves have a small header (and I believe a small footer) - but the redo layer takes care of all that for the RDBMS developer. He simply sees an endless stream of entries.

Hope that helps.
SCott.
P.S. I know a little bit about redo file format as I wrote SQL*Trax, the log browser for Oracle, back in 1994 before Oracle had a log miner. Please come see our new tool - a graphical data block browser for Oracle at www.tlingua.com... Received on Wed May 05 2004 - 22:43:12 CDT

Original text of this message

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