From: tombest@firstusa.com (Tom Best)
Newsgroups: comp.databases.oracle.server
Subject: Re: Freelists
Date: 8 Aug 2001 05:40:52 -0700
Organization: http://groups.google.com/
Lines: 22
Message-ID: <99ab87b0.0108080440.55a33a57@posting.google.com>
References: <645b6e08.0108080251.4b44c5d8@posting.google.com>
NNTP-Posting-Host: 12.23.133.6
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
X-Trace: posting.google.com 997274452 20459 127.0.0.1 (8 Aug 2001 12:40:52 GMT)
X-Complaints-To: groups-abuse@google.com
NNTP-Posting-Date: 8 Aug 2001 12:40:52 GMT


mickrice@techie.com (Mick Rice) wrote in message news:<645b6e08.0108080251.4b44c5d8@posting.google.com>...
> Ok, so when a transaction is inserting rows into a block it continues
> to do so until it hits PCTFREE. When rows are being deleted, at the
> point where the block is less that PCTUSED full the block is put back
> on the freelist for that table. My question is, when is the block
> initially taken off the freelist. If it's when we pass over the
> PCTUSED point how then do we continue to insert rows up to PCTFREE.
> 
> Yours Expectantly,
> 
> Mick Rice.


Mick:

You have to think of the fact that Oracle maintains a "state" of the
data block.  Meaning, it keeps track of whether it has hit PCTFREE or
not.  If it has, then it is in the mode of looking for PCTUSED to be
hit, so it can then place it on the freelist.

Hope this helps.
Tom Best

