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 manager in ORACLE?

Re: log manager in ORACLE?

From: Sybrand Bakker <postbus_at_sybrandb.demon.nl>
Date: 13 Feb 2002 00:18:31 -0800
Message-ID: <a20d28ee.0202130018.256f1979@posting.google.com>


Y <newdbms_at_yahoo.com> wrote in message news:<3C69D7EB.7A2B650C_at_yahoo.com>...
> Hi, Sybrand,
> Thank you so much!
> I wrote some further questions below.
>
>
> Sybrand Bakker wrote:
>
> > Comments embedded
> > "Y" <newdbms_at_yahoo.com> wrote in message news:3C6881C6.45770644_at_yahoo.com...
> > > Hi,
> > > I am using Oracle 8i EE.
> > > I took a quick view of oracle books. I haven't found a direct answer for
> > > my questions.
> > > I just want to know how log manager works in Oracle?
> > >
> > > For example, when I issue one update sql request,
> > >
> > > 1. Oracle read the datablock from datafiles on disk into buffer. Before
> > > update data block, oracle first write the before and after image to log
> > > buffer?
> > >
> >
> > the before image is written to the rollback segment.
> > Changing the rollback segment implies changing a data block:
> > the change is copied to the log_buffer
> > Update implies changing a data block, the change is copied to the log_buffer
> >
>
> So if I issue commit for the transaction, those changed information will flush
> to datafile later; and if I issue rollback transaction, oracle engine will copy
> the before-image from rollback segment to datafile.
>
> >
> > > 2. When and what information will be written to Rollback Segments?
> >
> > See above
> > >
> > > 3. When the transaction end or the log buffer pool full, log buffer
> > > pool flush to redo log files?
> > >
> >
> > The log_buffer will be flushed to disk
> > either
> > 1 every 3 secs
>
> > 2 when it is one third full
>
> > 3 when 1M of the log_buffer is dirty
> > 4 when a transaction is committed.
>
> ==========
> All the number here, like 3s, 1/3 full, 1m are hard limit, they are not allowed
> to configured? What's the relationship with the checkpoint interval?
>
> >
> > > 4. The rollback segments will only keep before and after image for open
> > > transactions. Is that correct?
> > NO. The after image is NOT in the rollback segment.
> >
> > The redo log files will store the before
> > > and after image of unactive transactions. Is that correct?
> > >
> >
> > NO the redolog files store the before and after image for ALL transactions,
> > whether active or unactive. This allows for 'playing back' all mutations
> > after a crash (of course you must have archived those redo log files)
>
> It looks like Redo log like Informix's logical log and Rollback Segment like
> Informix's physical log!
>
> >
> >
> > Please read the Oracle Concepts Manual.
> >
> > --
> > Sybrand Bakker
> > Senior Oracle DBA
> >
> > to reply remove '-verwijderdit' from my e-mail address
> >
> > > Thanks for any help?
> > > Y
> > >

1 rollback is fetched from the rollback segment which can be either in memory, or on disk. Oracle tries to postpone writing to disk as much as possible and clients don't write to disk, this is handled by the database writer aka DBWR

3
The limits are hardcoded can not be changed and have no relationship with the checkpoint interval. The log_buffer itself is adjustable in size, the thresholds aren't

I know for a fact even Oracle Support recommends their customers to RTM.
Please try to do so, or you will become a nuisance to this group, and nuisancees are usually ignored.

Regards

Sybrand Bakker,
Senior Oracle DBA Received on Wed Feb 13 2002 - 02:18:31 CST

Original text of this message

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