DBMS_REDEFINITION vs EXCHANGE PARTITION in oracle
in both ways you will end up using exchange partition and probably a series of split partitions. If your table does not have many dependencies like constraints and triggers, the route using redefinition can be easier because it buys you a lot of time. You prepare the new table as a copy and exchange the object id's on the end phase. If there are a lot of dependencies, you have to recreate them using different names.
The operation will take some time, depending on the size.
If you go for safe .... in both cases, the operations fail or succeed.
How is the load on the table? Does it receive a lot of updates/inserts/deletes during the migration? Do you have downtime available? I would go for simplicity if possible using downtime and not using redefinition.