hi,
You did not mention the version of Oracle Database you are using!
You should be using Dictionary managed tablespaces!
If you get the error "max extents", you need to alter the max extents for the table. If you have to do this on a given table over and over -- you need to rethink your extent size for that table. It might need to be larger.
In order to analyze if that problem would be solved by altering max extents -- you need only look at the error message. A good DBA might be proactive and run a query every now and then like:
select owner, segment_name, segment_type, extents, max_extents
from dba_segments
where max_extents-extents <= 3;
that'll tell you the objects that are getting near to failing.
If you get the "unable to extend" due to lack of space -- you need to increase the size of your datafile or add more datafiles.
I use maxextents unlimited typically with FIXED size extents (pctincrease = 0, initial = next for all objects in a tablespace and all objects use the same initial and next values).
See
http://technet.oracle.com/doc/oracle8i_816/server.816/a76965/c02block.htm#2775for details on extent management.
If you have Oracle 8i, you should start using LOCALLY MANAGED tablespaces (LMT) with system managed extent sizes (UNLIMITED).
A locally managed tablespace with uniform extents makes that the "de-facto" rule, you cannot subvert it as you can with a dictionary managed tablespace.
- LMT totally avoids fragmentation -- it is impossible to have fragmentation in these tablespaces.
- LMT are much faster at allocating and de-allocating extents - many order of magnitudes faster.
- LMT decrease contention on the data dictionary.
hope this helps!
regards
Yogeeraj
No person was ever honoured for what he received. Honour has been the reward for what he gave (clavin coolidge)