Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Mailing Lists -> Oracle-L -> Re: RE: why does block cleanout incur redo?
thanks... I have jonathan lewis's book on my list to read.
The transaction table is what is modified with the initrans and maxtrans setting. I get it now.
when you perform block clean out you modify the block and state that it is no longer being used in this transaction. when the blocks are flushed by DBWR, the transaction table needs to be modified so that the number of transactions that is occurring is known.
this causes redo. so that if you have to recover, the transaction table in each block can be accurate. Am I correct?
>
> From: "Cary Millsap" <cary.millsap_at_hotsos.com>
> Date: 2003/08/06 Wed PM 11:29:23 EDT
> To: Multiple recipients of list ORACLE-L <ORACLE-L_at_fatcity.com>
> Subject: RE: why does block cleanout incur redo?
>
> It's because "flush" doesn't mean what you probably think. During a
> delayed block cleanout, Oracle updates a block's transaction table
> (ITL). Any time a block gets modified, there's redo.
>
>
>
> See Jonathan Lewis's Practical Oracle8i (pp43-44) for a description.
>
>
>
> Cary Millsap
> Hotsos Enterprises, Ltd.
> http://www.hotsos.com
>
> Upcoming events:
> - Hotsos Clinic <http://www.hotsos.com/training/clinic101> 101 in
> Denver, Sydney
> - Hotsos Symposium 2004 <http://www.hotsos.com/events/symposium/2004>
> March 7-10 Dallas
> - Visit www.hotsos.com for schedule details...
>
> -----Original Message-----
> Ryan
> Sent: Wednesday, August 06, 2003 9:34 PM
> To: Multiple recipients of list ORACLE-L
>
>
>
> My understanding of block cleanout is that oracle is flushing
> transaction information of already committed transactions from the
> buffer cache. This can happen in selects, when 10% of the buffer cache
> is filled with 'lists' if blocks involved in transactions, or with dml.
>
>
>
> i dont understand why this incurs redo? your just flushing blocks that
> are no longer needed?
>
>
>
It’s because “flush” doesn’t mean what you probably think. During a delayed block cleanout, Oracle updates a block’s transaction table (ITL). Any time a block gets modified, there’s redo.
See Jonathan Lewis’s Practical Oracle8i (pp43–44) for a description.
Cary Millsap
Hotsos Enterprises, Ltd.
http://www.hotsos.com
Upcoming events:
- Hotsos Clinic 101
in Denver, Sydney
- Hotsos Symposium 2004
March 7–10 Dallas
- Visit www.hotsos.com for schedule details...
-----Original Message-----
From: ml-errors@fatcity.com
[mailto:ml-errors@fatcity.com] On Behalf Of Ryan
Sent: Wednesday, August 06, 2003
9:34 PM
To: Multiple recipients of list
ORACLE-L
Subject: why does block cleanout
incur redo?
My understanding of block cleanout is that oracle is flushing transaction information of already committed transactions from the buffer cache. This can happen in selects, when 10% of the buffer cache is filled with 'lists' if blocks involved in transactions, or with dml.
i dont understand why this incurs redo? your just flushing blocks that are no longer needed?
-- Please see the official ORACLE-L FAQ: http://www.orafaq.net -- Author: <rgaffuri_at_cox.net INET: rgaffuri_at_cox.net Fat City Network Services -- 858-538-5051 http://www.fatcity.com San Diego, California -- Mailing list and web hosting services --------------------------------------------------------------------- To REMOVE yourself from this mailing list, send an E-Mail message to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing).Received on Thu Aug 07 2003 - 06:24:27 CDT
![]() |
![]() |