Thanks Paul. I have done this using data pump. export took 2 hours for 1.6 billion rows and import took 5 hours. However, I do have another very huge table with 9 billion rows for which I need to change the partition column. I will go with your suggestion for that table.

Thanks Stecal.

insert into new_partitioned_table select * from old_table;
It's a big table with 1.6 billion rows. So I don't want to take a chance to insert every thing with out any commit. Rather I can use insert with append and start multiple insert streams as Paul suggested.

I don't think so CTAS is applicable here because existing table is non-partitioned and new table is partitioned.

Thanks,