-
The above don't proove anything except that you can rollback DROP COLUMN operation. But of course the operation itself generates undo information and requires rollback space. A lot of rollback space if you are dropping a column from a large table.
When you drop a column from a table, each and any block containing table rows is changed. The whole process can take a long time to complete. Immagine that you are dropping a column from a large table that can take an hour to complete. Suppose that after half an hour your database crashes, in the middle of your DROP COLUMN operation.
Now uppon the instance startup during the crash recovery Oracle must restore the table to the point as it was before you begun your DROP COLUMN operation as that information never completed! Where will it get the undo information? From the rollback segments, of course.
The fact that you can't rollback that operation once it has finished does not mean no information is written into rollback segments. Once it is finished you can't roll it back simply because of the implicit commit performed at the end of the operation to ensure that changes to the data dictionary are consistent and permanent, not because there is no information in the rollback segments.
-
Thanks a lot all of you for correcting me and letting me know the right thing.