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

Home -> Community -> Mailing Lists -> Oracle-L -> Re: How are extents allocated in a multi-datafile tablespace

Re: How are extents allocated in a multi-datafile tablespace

From: Shevtsov, Eduard <EShevtsov_at_flagship.ru>
Date: Fri, 22 Dec 2000 00:33:58 +0300
Message-Id: <10717.125181@fatcity.com>


Brian,

I always thought that Oracle chooses next extent from the first continious piece of free space which satisfies reqs (equal or bigger in size). It's simplification because Oracle does some rounding in order to optimize space allocation. So first it always tries to fill the first file of a particular tbs, then the second, etc. I believe the order somehow depends on file's creation/addition time. I suggest that round-robin algorithm is almost useless for extent allocation, because in that case Oracle needs to know what discs the files are located, is it raid or not and so on. But Oracle use round-robin method for assignment transactions to rbs.

Ed

> Whenever I've payed attention to this it has allocated them in a
> round-robin approach amongst the various datafiles as the note stated.
> I believe this is how it worked in 8.0.5 (maybe earlier) and up.
>
> - Brian
>
> --- Chuck Hamilton <chuck_hamilton_at_yahoo.com> wrote:
> >
> > It's always been my understanding that when a tablesapce has multiple
> > datafiles, extents are allocated in 1 datafile at a time until that
> > datafile is full, then it switches to the next datafile. Today I read
> > a note on a metalink forum where someone stated quite authoritatively
> > that extents are allocated in a striped fashion amongst the
> > datafiles. For example if you have three datafiles, the first extent
> > goes to file 1, the second to file 2, the third to file three, and
> > then back to file 1. Is this true? Is this something that's new in
> > one of the versions of 8i? I've never heard of such a thing. It would
> > be great if that were true because it would distribute i/o more
> > evenly. But I thought the only way to accomplish that in Oracle was
> > with hash paritioning.
> >
> > On a similar note, I have a composite partitioned table spread across
> > 3 tablespaces each with one datafile. The hash key for the
> > subpartition is a sequentual number. When I bulk load into that
> > tablespace, I don't see even i/o distribution amongst the data files.
> > One file consistently gets 2x the # of writes as the other two. Why
> > is that?
> >
> >
> >
> > ---------------------------------
> > Do You Yahoo!?
> > Yahoo! Shopping - Thousands of Stores. Millions of Products.
>
>
> __________________________________________________
> Do You Yahoo!?
> Yahoo! Shopping - Thousands of Stores. Millions of Products.
> http://shopping.yahoo.com/
> --
> Please see the official ORACLE-L FAQ: http://www.orafaq.com
> --
> Author: Brian Wisniewski
> INET: brian_wisniewski_at_yahoo.com
>
> Fat City Network Services -- (858) 538-5051 FAX: (858) 538-5051
> San Diego, California -- Public Internet access / Mailing Lists
> --------------------------------------------------------------------
> To REMOVE yourself from this mailing list, send an E-Mail message
> to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in
> the message BODY, include a line containing: UNSUB ORACLE-L
> (or the name of mailing list you want to be removed from). You may
> also send the HELP command for other information (like subscribing).
Received on Thu Dec 21 2000 - 15:33:58 CST

Original text of this message

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