I have a partitioned table for which I'd like to remove unnecessary free space. Usually I would run commands like this:
ALTER TABLE {table name} MODIFY SUBPARTITION {subpartion name} SHRINK SPACE;
ALTER TABLE {table name} MODIFY PARTITION {partion name} SHRINK SPACE;
But I get an error for a particular table because the table has function-based indexes (see Restrictions on the shrink_clause):
ORA-10631: SHRINK clause should not be specified for this object
All of the indexes on my table are local. There are no global indexes. Does anyone know a solution to shrink the free space?
Dropping function-based indexes, shrinking space and re-creating the indexes is not an option. My table is quite big (200 billion rows, resp. 20 TByte) so it would take far too much time. I need to shrink only a few subpartions, not the entire table.
I also tried to disable the function-based indexes on that partition (by using Partial Indexes for Partitioned Tables) but that did not work either.