After reorg of a table with the Live Reorg (Optimize for Availability) option, it is noted that constraints may have slightly different names.
Space Manager with Live Reorg makes a copy of the original table and all dependant objects. These copied objects are sync'd with the originals and are then exchanged with them. It is not possible to have two objects with the same name, so the copied objects are given temporary names. The table name is maintained by use of the EXCHANGE PARTITION command, but dependant objects are outside the scope of EXCHANGE PARTITION.
For example, Live Reorg uses the following Oracle syntax to adjust the names of the dependant constraints...
ALTER TABLE <table_name> RENAME CONSTRAINT <old_constraint_name> TO <new_constraint_name>;
This syntax became available in Oracle 9.2.
If you are running an Oracle version prior to Oracle 9.2, it is not possible to rename dependant objects after the EXCHANGE PARTITION has been executed. The syntax to rename the dependant objects is not available in these releases.
If it is critical that object names are maintained, then an offline reorg will need to be used.
Given database versions before Oracle 9.2, the only way that dependant objects, like constraints, could be renamed is by dropping and recreating the object in question. This would have an impact on the database/application and the reorg would no longer be live.
© ALL RIGHTS RESERVED. Feedback Terms of Use Privacy Cookie Preference Center