Re: Data Block Cleanup??

From: Shelly McNutt <slm_at_pdc.sda.cbis.com>
Date: Mon, 20 Sep 1993 16:26:47 GMT
Message-ID: <1993Sep20.162647.29634_at_roadie.uucp>


Doug Harris (ah513_at_Freenet.carleton.ca) wrote:

: I'm just curious more than anything, but I've noticed that if a
: database block belonging to a table segment is affected by an insert,
: delete, or update, then the next time a query accesses the block,
: something is done to it which causes it to be put on the DBWR dirty
: list.
 

: I first ran across this when I was loading up a table to do some
: volume testing (about 3 million rows). After loading the table, the
: first full table scan on it took forever. Subsequent table scans just
: flew. A quick check determined that every block read was being written
: back to the database on the first table scan.
 

: My pet theory is that Oracle is choosing this time to remove the
: old transaction entry (used by the previous update to the block and
: not removed on commit because of the obvious performance impact this
: would have).
 

: Can anyone enlighten me to whether I'm even close on this? Note that
: this does NOT seem to occur with index blocks.
 

: - Doug Harris
: Database Administrator
: System Development Division
: Statistics Canada
: --

We experienced the same thing. An ORACLE field technician told us this is known as a lazy cleanup. The block header information is not "cleaned up" until the select after the insert or update that caused it to be updated. He did not say exactly what in the header was being cleaned up, but the old transaction entry would seem to be a reasonable guess. Received on Mon Sep 20 1993 - 18:26:47 CEST

Original text of this message