Monday, October 09, 2006

Why do Oracle commits when we issue a DDL statement?

In DDL operation, DDL locks wiil be taken place automatically against the respective object. So one needs to remove the locks as soon as the statement got executed, it can be achieved by commiting the transaction. The next Question is what if the transaction fails. the answer is oracle simply rollback.The next complication is if it rollback, user looses their transactions that happend just before the DDL statement.Thats why Oracle executes a commit statement just before the DDL also. Thats the reason why the end user transactions will be committed irrespective of the success of DDL. A DDL statement actually execute as below
commit;
DDL
commit;
Exception
rollback

No comments: