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

From: Shakespeare <>
Date: Mon, 10 Nov 2008 12:03:16 +0100
Message-ID: <491814f3$0$194$>

Mladen Gogala schreef:
> On Mon, 10 Nov 2008 10:34:53 +0100, Shakespeare wrote:

>> Mladen Gogala schreef:
>>> On Mon, 10 Nov 2008 10:02:08 +0100, Thomas Kellerer wrote:
>>>> But creating objects in a database needs to be consistent as well. I
>>>> don't see why having transactional DDL contradicts database
>>>> consistency.
>>>> Actually I think it adds to consistency.
>>> So, I create table, Noons creates an index to that table, in his own
>>> schema. If I was able to roll back the table creation, what happens to
>>> Nuno's index? Flashback table to before drop is possible with all
>>> releases that support flashback area, since the version 7.3.6.
>> Of course, Noons could only create the index AFTER you commit your DDL!
>> So no roll back would be possible anymore.
>> Shakespeare

> OK, that would make things even worse, because you would have "local"
> objects, visible only from the creating session. There would be no way
> to meaningfully monitor the system and explain SQL as the "noncommitted"
> table would not exist from the perspective of any other user.

Indeed. I wasn't saying it would be any better.... or any good at all. But isn't this the case with all uncomitted transactions? What about two users creating the same table(s) with a delayed commit? And what about DROP TABLE statements? Should they be roll backed as well?????

Shakespeare Received on Mon Nov 10 2008 - 05:03:16 CST

Original text of this message