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: Segment Fragmentation and Performance

Re: Segment Fragmentation and Performance

From: Connor McDonald <mcdonald.connor.cs_at_bhp.com.au>
Date: Mon, 21 Sep 1998 18:02:58 +0800
Message-ID: <36062452.29C8@bhp.com.au>


garysadler_at_my-dejanews.com wrote:
>
> I am a new Oracle DBA and would like to solicit opinions concerning the
> affect
> of segment fragmentation on overall performance. Most of what I have
> read
> indicates that segments should ideally reside in only one extent, and
> that too
> many extents will have an adverse affect on performance. But then
> I read a
> whitepaper written by Craig Shallahamer of Oracle Services that
> disputes that
> claim. He argues convincingly that in a production
> environment, because
> Oracle retrieves data in blocks, queues relatively
> small requests, and services
> many competing users simultaneously, the
> diskhead is going to be moving all
> over the place anyway. Since only
> full-table scans would be affected in the first
> place, what are the odds
> that the disk controller wouldn't be interrupted
> numerous times before
> completing that scan. So while it can be argued that it's
> good practice to
> confine a segment to relatively few extents, there's no reason
> why a segment
> with 50 extents shouldn't perform about as well as a segment in
> only one
> extent.
>
> Shallahamer's contention makes perfect sense to me, but does not
> seem to be
> commonly upheld. He states that this could be because DBA's will
> rebuild a
> segment upon detection of fragmentation and notice an improvement
> in
> performance. This practice inadvertently corrects the very real problem
> of row
> migration. So while the DBA thinks the reduction in segment
> fragmentation has
> improved performance, it was actually the elimination of
> row migration that did
> the trick. So the argument goes.
>
> Does anyone out
> there have a bone to pick with this stance? I am curious
> about where to
> focus my attention, primarily on minimal extents, or on fine tuning
> the
> pctfree attributes, and whether I should avoid wasting disk space assuring
> that a segment remains in one extent, in favor of increasing the pctfree
> value
> and using that disk space within each data block. Won't spreading a
> segment
> over too many data blocks also affect performance adversely?
>
> -----== Posted via Deja News, The Leader in Internet Discussion ==-----
> http://www.dejanews.com/rg_mkgrp.xp Create Your Own Free Member Forum

I thoroughly agree - make your extents a multiple of blocksize * multiblock read count and you are a hell of a long way toward things (ie table scans) running just dandy in (almost) any number of extents...

Have fun



Connor McDonald
BHP Information Technology
Perth, Western Australia
"The difference between me and a madman is that I am not mad" Received on Mon Sep 21 1998 - 05:02:58 CDT

Original text of this message

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