Re: Why Oracle does not allow rollback of DDL statements?

From: gym dot scuba dot kennedy at gmail <kennedyii_at_verizon.net>
Date: Sun, 09 Nov 2008 23:52:36 GMT
Message-ID: <8JKRk.434$mi4.103@nwrddc02.gnilink.net>

<zigzagdna_at_yahoo.com> wrote in message
news:57ce7648-b6db-4e34-ad52-4dc171ceb0a9_at_v16g2000prc.googlegroups.com... I have always been surprised why Oracle does a implicit commit when DDL statements (e.g create table …) are executed. DDL statements simply write information (insert, delete and update) to data dictionary, so why DDL statement cannot be rolled back. Am I missing some thing?

I was learning SQL Server few months ago and I noticed that SQL Server does allow rollback of DDL statements if I am not mistaken. It lloks like there is something in Oracle architecture which prevents rollback of DDL satements. Rollback of all staements should be allowed not just of DML statements.

Appercaite your insight.

Wanting it different than it is isn't going to change the facts. In general in Oracle you don't execute DDL statements on the fly. (eg create and drop tables on the fly. There are global temporary tables for that and they are created one time) In SQL Server there is often more of a need to create a temporary table on the fly due to locking issues (that Oracle does not have). So SQL Server HAS to work that way or their are up the proverbial creek without a paddle. In Oracle you shouldn't be doing DML and the DDL that you want ot roll back. Could Oracle change the way it does that? Sure it is technically possible. Could Oracle allow dirty reads? Sure it is technically possible, but it goes against their philosophy. Jim Received on Sun Nov 09 2008 - 17:52:36 CST

Original text of this message