5 + дней, чтобы построить 2-3 миллиона строк MV? Это слишком много, чтобы быть просто плохим SQL. Я предполагаю, что вы можете быть заблокированы каким-то другим процессом (?). Не уверен, но проверьте это из другого сеанса после запуска перестройки MV:
select s1.username || '@' || s1.machine
|| ' ( SID=' || s1.sid || ' ) is blocking '
|| s2.username || '@' || s2.machine || ' ( SID=' || s2.sid || ' ) ' AS blocking_status
from v$lock l1, v$session s1, v$lock l2, v$session s2
where s1.sid=l1.sid and s2.sid=l2.sid
and l1.BLOCK=1 and l2.request > 0
and l1.id1 = l2.id1
and l2.id2 = l2.id2 ;
Просто предположение. Если вы используете Toad, вы также можете получить эту информацию (через Database-> monitor-> session session). Это также покажет вам прогресс Long Ops (сканирование таблицы и т. Д.).
Редактировать: Да, кстати, постройте MV, используя nologging, должно немного помочь, если вы решите, что у вас нет проблем, указанных выше.