If you dont want to have unlimited extents I see two more options available
to you:

1) You can export the data, drop the table and re-create with larger initial and next storage parameters, this will lower the number of extents.


2) You can try de-allocating the unsed space beyond the High Water Mark (alter table table_name deallocate unused keep 0, as shown on the next demo:


SQL> edit
Wrote file afiedt.buf

1 create table emp1
2 storage( initial 8m next 8m )
3* as select * from employees
SQL> /

Table created.

SQL> analyze table emp1 compute statistics;

Table analyzed.


SQL>
1 select blocks, segment_name from user_segments
2* where segment_name ='EMP1'

BLOCKS SEGMENT_NAME
---------- ----------------
1024 EMP1


SQL> alter table emp1 deallocate unused keep 0;

Table altered.

SQL> select blocks, segment_name from user_segments
2 where segment_name ='EMP1';

BLOCKS SEGMENT_NAME
---------- ----------------
8 EMP1

SQL> select table_name, initial_extent from user_tables;

TABLE_NAME INITIAL_EXTENT
------------------------------ --------------
EMP1 65536
EMPLOYEES 65536