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

From: Mladen Gogala <gogala.mladen_at_gmail.com>
Date: 10 Nov 2008 11:54:44 +0100
Message-ID: <491812f4$1@news.x-privat.org>


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.

-- 
Mladen Gogala
http://mgogala.freehostia.com
Received on Mon Nov 10 2008 - 04:54:44 CST

Original text of this message