I was hoping someone would have the definitive answer!
A rough formula (derived from experimental observation) seems to be:
current object next extent
size (x) size
-------------- -----------
0M < x <= 1M 64K
1M < x <= 64M 1M
64M < x <= 1G 8M
1G < x 64M
e.g. if the table is 960K, and another extent is needed, then the extent allocated is 64K (current object size was less than 1M). After the 64K extent is allocated, the table is 1M and the next extent allocated will still be 64K, bringing the table to 1088K. The extent after that would be 1M since the table has passed the 1M mark.
The starting allocation (from a create table statement - depending on initial, next, minextents, pctincrease) follows a different and more complicated scheme.
-----Original Message-----
From: Jamadagni, Rajendra [mailto:[EMAIL PROTECTED]]
in case of auto allocate, oracle used 4 or 5 (experts don't even agree on if it is 4 or 5) fixed sizes (64k ...) and based on number of existing extents it will choose when an extent of next size should be allocated. The problem is there is no set formula (or I haven't seen one agreed upon by Oracle ... the answer from Oracle is always fuzzy about this).
That's why, I don't know if the next extent of my table will be 64K or 1M ... if someone knows a formula, I can write a quick script and things would be easy ... but due to lack of formula, everything is a hypothesis ..
In case of dictionary managed, you have next extent size and pct increase and you can predict what the next extent would be. This is also true if you use uniformed extents in LMT. But it isn't easy in LMT and auto allocate. It is probably as predictable as expecting a straight like from a drunken monkey with a crayon.
