Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.misc -> Re: Help with Freelists

Re: Help with Freelists

From: Keith D Gregory <keith_at_inconcert.com>
Date: Fri, 23 Oct 1998 14:43:20 -0400
Message-ID: <3630CE48.36A912E4@inconcert.com>


Thomas Kyte (tkyte_at_us.oracle.com) wrote:

> When you do an insert into a table, you need to get a block that has
> space. The place we will go is a freelist. Think of this like a
> shared data structure that has a list of blocks that have space free

> If we have more then one freelist -- when someone comes along to get
> a free block and someone else is doing the same -- they can process
> in parallel, each using a different freelist to get storage from.
>
> The effect on a table that is heavily inserted into can be dramatic.

IF you are not I/O bound.

Having multiple freelists means that the two sessions inserting into the same table will dirty twice as many blocks. These blocks will eventually have to be written to the disk, and in a high-throughput environment, this could cause your system to be maxed out (sooner or later, any disk system will reach its limit).

If you up the freelists and don't see a speed increase (or worse, see a decrease), this is probably the case.

If you can make your application perform exactly the same work for multiple runs, you can use Bstat/Estat to see the difference: run Bstat just after the instance is started, then your application, then Estat. This will mean that (for all practical purposes) your application is the only thing causing dirty blocks, and the "physical writes" (or "DBWR blocks written") should show the difference.

-kdg Received on Fri Oct 23 1998 - 13:43:20 CDT

Original text of this message

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