probably creating a new table with direct insert is the fastest way but of course if you can afford downtime

I once had to deal with a delete which took 2 weeks heh, 60 column table with 42 columns indexed and 0 downtime allowed, throwed 10 ORA-01555 during delete process (controlled with exception which re-started the process from stopping point)