You could use direct load insert.
Create table new_table
(col1 varchar1 ....... .. . .... ...)
Insert /*+ append */' into new_table
select * from old table
you can stop redo generation by issuing
alter table table name nologging; before direct load insert.
Direct load insert bypasses buffer cache and goes straight to datafile so is faster.
You can also do a parallel direct load insert, spawning multiple server processes to speed up the task further.
Once you have eliminated all of the impossible,
whatever remains however improbable,
must be true.