В зависимости от вашей версии Oracle и / или параметров, которые вы указываете, dbms_mview.refresh может выполнять TRUNCATE с последующей прямой загрузкой. TRUNCATE - это команда DDL, которая выдает неявную фиксацию. Прямая загрузка не требует фиксации.
Если вы используете более новую версию Oracle, я думаю, 10.2+, вы можете установить для параметра atomic_refresh значение TRUE, и он будет обновляться в рамках одной транзакции, используя стандартные команды DELETE / INSERT. Этот метод может быть немного медленнее.