Convert Non-Partitioned table into Partition table If any regular table needs to be migrated to a partitioned table, Oracle has the option of Exchange Partition. With this, data and indexes can be migrated to a partition table very easily (name-swap operation between a table and single partition). It improves the migration and reduces the downtime. -- Normal Table SQL>Create Table Jan_2007_Data ( Prod_No Number(10) Primary Key, Prod_Name Varchar2(10), Sale_date Date ); SQL> Insert into Jan_2007_data values (1,'Wheat','01-jan-2007'); SQL> Insert into Jan_2007_data values (2,'Rice', '15-jan-2007'); -- Partitioned Table SQL>Create Table Data_2007 ( Prod_No Number(10) Primary Key, Prod_Name Varchar2(10), Sale_date Date) partition by range(Sale_date) ( partition p_jan values less than (to_date( '01-feb-2007', 'dd-mon-yyyy')), partition p_feb values less than (to_date( '01-mar-2007', 'dd-mon-yyyy')), partition p_mar values less than (to_date( '01-apr-2007', 'dd-mon-yyyy'))); -- Exchange partition SQL> ALTER TABLE data_2007 EXCHANGE PARTITION p_jan WITH TABLE jan_2007_data INCLUDING INDEXES WITHOUT VALIDATION; Note: After executing the "exchange partition", data will not be available in jan_2007_data.