This content has been marked as final. Show 3 replies
The indexes and constraints can't have the same name in the new table that they had in the old table because they're using the same namespace. You can't have two indexes with the same name in the same schema even if they are on two different tables.
If you didn't use the dbms_redefinition package, you could copy the data from the old table to the new table, drop the old table, and then create constraints and indexes on the new table that match the names of the constraints and indexes on the old table. Since online redefinition presupposes that both tables are going to exist at the same time, the constraint and index names would need to be different.
For the first question, redefinition is only possible for heap organized tables ?
Not true - this doc lists the restrictions on the package
Restrictions for Online Redefinition of Tables
See this Oracle-base example using DBMS_REDEFINITION