Path: news.f.de.plusline.net!news-fra1.dfn.de!news.visyn.net!news2.arglkargh.de!nuzba.szn.dk!pnx.dk!news.germany.com!postnews.google.com!y80g2000hsf.googlegroups.com!not-for-mail
From: "fitzjarrell@cox.net" <fitzjarrell@cox.net>
Newsgroups: comp.databases.oracle.server
Subject: Re: Are multiple extents still a problem with LMT?
Date: 4 Apr 2007 07:44:29 -0700
Organization: http://groups.google.com
Lines: 81
Message-ID: <1175697869.320818.66870@y80g2000hsf.googlegroups.com>
References: <1175685870.650528.217830@y80g2000hsf.googlegroups.com>
   <1175691774.500456.177760@q75g2000hsh.googlegroups.com>
   <1175693409.545408.143540@e65g2000hsc.googlegroups.com>
NNTP-Posting-Host: 72.192.67.107
Mime-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
X-Trace: posting.google.com 1175697872 23305 127.0.0.1 (4 Apr 2007 14:44:32 GMT)
X-Complaints-To: groups-abuse@google.com
NNTP-Posting-Date: Wed, 4 Apr 2007 14:44:32 +0000 (UTC)
In-Reply-To: <1175693409.545408.143540@e65g2000hsc.googlegroups.com>
User-Agent: G2/1.0
X-HTTP-UserAgent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322),gzip(gfe),gzip(gfe)
Complaints-To: groups-abuse@google.com
Injection-Info: y80g2000hsf.googlegroups.com; posting-host=72.192.67.107;
   posting-account=B_KC8Q0AAADcSTVy4DZ59utFaLrVLOo4
Xref: news.f.de.plusline.net comp.databases.oracle.server:195745

Comments embedded.
On Apr 4, 8:30 am, "Andy Kent" <andykent.bristol1...@virgin.net>
wrote:
> > I can't understand why 'extent fragmentation' is a problem as you do not
> > have any odd-sized extrents which cannot be reused by other objects
>
> You seem to be misunderstanding how extent allocation works.

False.  I understand quite well how extent allocation 'works'.

> If two
> tables are grabbing extents alternately then their extents will be
> interleaved and there is no way you can avoid having a whole load of
> extents of the default size for the table or tablespace.

'Interleaved' extents don't cause this problem, as contiguous extents
would create the same situation.  Problems are created when two
objects with differing extent sizes create extents in the same
tablespace; odds are the extent sizes are not multiples of each other
and thus cause fragmentation as one object cannot  use what the other
object has left free when most of the tablespace has been consumed.
Not so with uniform extent sizing, as any object in the tablespace can
reuse any space freed when any other object is dropped/truncated/
reorganised.

> Even if
> extents are contiguous 8i doesn't automatically figure that out.

And why should it?

> You
> can reduce the problem with COALESCE but that will make no difference
> where interleaving has happened.

Again, it won't matter as the number of extents (unless this number is
extremely large) won't affect performance to a noticeable degree.

>
> Having too many extents creates two distinct problems:
> 1. Access to the dictionary increases with the number of extents and
> the dictionary itself may fragment if the number is large. This can be
> a considerable overhead (especially in sub-optimal situations where
> the system and data tablespaces are on the same disk).

Yes, which is WHY you don't use dictionary-managed tablespaces any
longer.  Moving this to 9iR2 or 10g will correct that issue.

> 2. Large queries and especially full scans are compromised because the
> data blocks do not occupy contiguous space so seek time is increased.

No, they aren't.  What compromises large queries is insufficient sort
space and insufficient RAM as swapping occurs and creates performance
issues.  Also affecting large queries is a lack of usable indexes
which forces full table scans and increases the memory required to
process the request which then goes back to the second item I
mentioned: insufficient RAM.  The seek time is minimal compared to the
time required to swap data in and out of memory.

> However where datafiles use filesystem space the filesystem is likely
> to add its own fragmentation overhead so making everything [logically]
> contiguous within a datafile may be a lost cause.
>

I'll agree with that statement.

> Now, I know that moving from DMT to LMT sorts out 1. What I'm trying
> to establish is whether table rebuild should be added to the equation
> in order to mitigate 2.
>

There is nothing to 'mitigate' with 2 unless you have thousands of
extents for a given  object.  This is what you fail to understand.

> Rest assured I am also tuning SQL (ANALYZE had never been run!),
> indexes, SGA and undo/ redo.
>
> Andy


David Fitzjarrell

