Question

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?

Was it helpful?

Solution

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...

OTHER TIPS

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.

Licensed under: CC-BY-SA with attribution
Not affiliated with dba.stackexchange
scroll top