Здесь - это статья AskTom, которая может помочь. Из статьи:
"Мне было интересно, почему операторы DDL не выполняются внутри автономной транзакции (как это делают последовательности), поэтому они не влияют на ожидающую пользовательскую транзакцию ...
Вы можете уточнить?
Продолжение 24 июня 2003 г. - 7:00 США / Восточный регион:
это было бы так же "запутанно", как если бы не делать это таким образом. во всяком случае, у вас есть atrans, так что если вы хотите, вы можете. «
Так что, если вам действительно нужно, вы можете вставить свой DDL в автономную транзакцию и делать то, что вы хотите.
EDIT:
Суть в том, что если вы не пойдете на явную длину, чтобы «подорвать» Oracle, DDL выполнит коммит. Тем не менее, если вам абсолютно необходимо, чтобы фиксация выполнялась в определенный момент, почему бы просто не выполнить ее явно?