Oracle Exchange partition from non partitioned table We have table name Summary with 86 GB data. This table do not have partition/sub-partition .We want to move the data from the summary table to a composite partitioned table (range partition on entry_date column and hash partition on users_codes column ) .


  oracle doesn't allow to exchange data with non partitioned table


So we are doing the following approach.kindly let me know if this is correct approach.


Create a temporary table summary_temp with range partition on entry_date column ,then exchange the data from summary table to partitioned table(summary_temp) in part_hist.
Alter the summary_temp table to add sub partition (hash partition on users_codes) column
exchange the partition and sub_partition data to the another empty destination table which is having the same partition and sub partition.
We have done the same operation using the following approach:


Create the destination table with the correct structure nologging
Insert append parallel into it (verifiy direct path load in the explain plan)
Create the indexes nologging
in some case add the FK novalidate
compute the stats
Alter the objects LOGGING
Drop the initial table