Я пытаюсь создать представление как таковое:
CREATE MATERIALIZED ReasonableSizedView
TABLESPACE MyMediumTS
AS
select COUNT(something) AS allsomethings,
thetype AS thing,
status
from SomeMassiveTable
where
thetype = 'x'
AND status IN (0,1,2,3)
GROUP BY
thetype,
status;
И все, что я получаю, это ошибка: ORA-01658
: невозможно создать НАЧАЛЬНЫЙ экстент для сегмента в табличном пространстве MySmallTS
Хорошо, теперь MySmallTS
является по умолчанию ts для пользователя, которому я пытаюсь создать представление, и оно заполнено. Полное табличное пространство — это отдельная проблема, и с ней разбираются, но с какой стати Oracle пытается использовать его для этого представления, хотя я прямо указываю, где мне это нужно?
Более того, если я изменю запрос a и удалю group by
, он будет работать, и создаст представление в правильном табличном пространстве.
Интересно, вся операция группировки, суммирования и прочего, не должна ли она использовать табличное пространство TEMP
, назначенное для этого пользователя? Это казалось бы разумным, и, кстати, в моем темпе полно места...
Почему это так?
Благодарность