Creating a clustered index on a partitioned table is the only way to redistribute data on partitions without reloading the data by copying it out and back into the table.
When you are working with partitioned tables and clustered indexes, there are two special concerns:
Remember that the data in a clustered index “follows” the index, and that if you do not specify a segment in create index or alter table, the default segment is used as the target segment.
You can use the with sorted_data clause to avoid sorting and copying data while you are creating a clustered index. This saves time when the data is already in clustered key order. However, when you need to create a clustered index to load balance the data on partitions, do not use the sorted_data clause.
See “Creating an index on sorted data” for options.