Как я понимаю, автономные транзакции (в мире Oracle) автономная транзакция заканчивается, когда выдается коммит или откат. Однако я только что написал процедуру как автономную транзакцию, потому что мне нужно было изолировать часть DDL, которая изменяет табличное пространство с чтения только на чтение и запись.
Потом я начал думать о том, когда закончится автономный бит.
Проблема в том, что существует неявная фиксация как до, так и после выполнения DDL. Теперь я знаю, что мой код обладает желаемым эффектом, поэтому я могу только предположить, что первоначальный «пустой» коммит не является концом автономной транзакции, а последующий коммит. Что удивительно, так это то, что я не могу найти упоминаний об этом в Интернете.
Может кто-нибудь указать мне на документацию, которая объяснила бы мою загадку?