I got a chance to drop a 4TB size table on dictionary managed tablespace (DMT), this table comes from a very old design, and the partition design is not good for data purge, and delete cannot catch up with the data growth, so it becomes large and large up to 4TB, and we cannot afford it's growth any more. I am quite sure that I will never hit such bit table any more.
It took us very long time to split data monthly by CTAS and move them to the archive host. Now we redesign the table and need to drop this old table to free space for future growth.
Really worry about the drop, but we have to do it. Just by the following steps.
drop index ...;
truncate table ... reuse storage;
alter table ... deallocate unused keep 2000000m;
alter table ... deallocate unused keep 1500000m;
alter table ... deallocate unused keep 1000000m;
alter table ... deallocate unused keep 500000m;
alter table ... deallocate unused keep 0;
drop table ...;
The maximum value for the keep option is 200000m. It took us about 1.5 hours to get the table dropped finally, with few table coalesce command and keeping eyes on the database load, because we do it online (application is still running.
Before we start drop, we add some extents to other hot tables and indexes to avoid ST enqueue. Quite good experience.
