Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations derfloh on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

New Extent Allocation

Status
Not open for further replies.

Alter

MIS
Joined
Oct 9, 2001
Messages
6
Location
KZ
Hello

Is there a way to prevent Oracle from allocation new extents in all datafiles belong to tablespace?

For example I have three datafiles in tablespace. When Oracle allocate first extent it allocate it in Datafile 1, next - in Datafile 2, third - in Datafile 3 and fourth - again in Datafile 1.

How can I make so, that Oracle will start to allocate extents in Datafile2 only when Datafile1 is full i.e. allocation extents in next datafile performs only when previous datafile was over.

Thanks
 
I believe that this is how Oracle is supposed to work. If you really want to change it how about:

Shrink datafile 1 to minimum when it is almost full.
At the same time shrink datafile 3 to minimum

All new extents will go into datafile 2 (unless there are free extents in datafile 1 :-)

When datafile2 is nearly full shrink it to minimum and expand daatfile 3 and so on .......

Sounds like a lot of effort for not much result !!

Alex
 
You can preallocate your extents to those datafiles;

ALTER TABLE tab1
ALLOCATE EXTENT (DATAFILE 'datafile1');

ALTER TABLE tab1
ALLOCATE EXTENT (DATAFILE 'datafile2');

ALTER TABLE tab1
ALLOCATE EXTENT (DATAFILE 'datafile3');

 
Good point 'rcurva' but this could be a real pain to manage if 'Alter' has 600 tables in his tablespace :-)

Alex
 

You can preallocate your tables to one datafile if you want to, but this will be a lot of work. But performance wise, it is better to have distributed data (striped) across datafiles.


 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top