Working in an Oracle 19c database on Linux x86/64 trying to convert non-partitioned table to partitioned table.
Since Oracle12, alter table modify partition has been available to convert non-partitioned tables to partitioned tables. I have a non-partitioned table that has the initial_extent size set to 544MB. This is way too large. The actual first extent is 8MB.
When I use the alter table modify partition, I end up with 90 partitions all with an initial extent of 544MB. this results in the tripling of the size of the table. Many partitions are 90% plus empty.
Question is this. How to set initial partition extent size to a reasonable value during this process?
Using alter table move to recreate the table with new storage is not really a useful step as some of these tables are terabyte plus in size. Perhaps I'm missing it but I can't find a way to change or specify the initial extent size. I can alter table move partition after the fact and rebuild all the indexes but that has the same issues as alter table move prior to the partitioning.
ALTER TABLE mytable MODIFY
Partition by range (mydatecol)
interval ( NUMTOYMINTERVAL(1,'MONTH') )
(
partition p1308 values less than (to_date('01-SEP-2013','dd-mon-yyyy'))
)
-- Below line will raise "ORA-02203: INITIAL storage options not allowed"
-- storage( initial 1m)
UPDATE INDEXES ONLINE;