For every table or index a maximum number of extents can be specified. If ORA_01631: max # of extents reaches in table <table name>
or
ORA_01632: max # of extents reaches in index <index name>
is encountered it means that in order to accommodate new data Oracle needs to extend a table but could not because the maximum number of extents have been reached.
For handling this with indexes : we can just rebuild the indexes whereas we cannot do this with table so we alter the extent size for a table as following:
alter table <table name> storage ( maxextents new_value );
or it can be set to unlimited as following:
alter table <table-name> storage (maxextents unlimited);
*Note
It is a good idea to use uniform extent size per tablespace - if all extents
in a tablespace are the same size there is no fragmentation.