Is there a rule of thumb for creating a tablespace with extent management AUTOALLOCATE or UNIFORM? If the latter applies, how to estimate a reasonable extent size?

Even more, what should apply for default tablespaces like SYSTEM, SYSAUX, UNDO, and TEMP?

2 Answers 2


I agree with Tom Kyte's 2005+ assessment of this:

I actually am a fan of system allocated extents now. It grows the extent allocation size as the table grows.

Autoallocate is not going to cause widespread fragmentation.

IF you know PRECISELY how big the object is, will be or will grow by -- go ahead, do the math, feel free to use uniform. Else, use autoallocate...

  • Just another issue. If I do have a broad diversity of objects, I cannot calculate any uniform size. I would always require to have concrete objects in that tablespace.
    – Michael-O
    Jun 5, 2012 at 21:31

The good thing with Oracle is, it lets you always trick things, do all manual stuff no matter how automatic it is. autoallocate in our DW/ODS environment is a real pain, not because it is bad, but because our conditions. All huge deletes, inserts and truncates fragmantation is unavoidable with autoallocate. The system always has to grow and the solution is uniform. And my years of experience giving 1 MB uniform size is not bogyman! It works; no matter which object type or usage style, it is not like it is advertised compared to autoallocate. Feel free to use autoallocate, but don't think it is magic. Sometimes it doesn't work and uniform is the solution. And if you like, use uniform, it also works, and not any worse than autoallocate.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.