There are different methods to partition an existing table. Here we will create a non partitioned table(PRODUCT) and convert it to a partitioned table using EXCHANGE option.


Create a normal table with index and constraints and insert some data:


Now create an empty interim partitioned table with similar structure as that of old table, which we will use for exchange the data from PRODUCT table. Make sure to define the one partition with maxvalue.

Now we will use the EXCHANGE PARTITION option , which will move the data from non-partitioned table(PRODUCT) to partitioned table(PRODUCT_TEMP).

Once this is complete we can drop the old table and rename the new table and all it’s constraints.

Lets split the existing partition.


There are other methods like dbms_redefinition and exp imp method to partition and existing table. I will upload them very soon.


For any issue or if you need more information please contact