DBAtlas · Атлас эксплуатации баз данных

ORA-01652: Не удаётся расширить временный сегмент на N в табличном пространстве

Oracle

Что это значит?

Oracle не нашёл достаточно свободного места в табличном пространстве для расширения временного (temp) сегмента. Обычно возникает при сортировках, hash join или операциях с глобальными временными таблицами.

Почему возникает?

Табличное пространство TEMP заполнено; крупные операции ORDER BY, GROUP BY, DISTINCT, hash join или создания индексов не помещаются в память PGA и сбрасываются на диск; у файлов данных отключён AUTOEXTEND или заканчивается место на диске.

Как исправить

Отслеживайте использование TEMP: SELECT * FROM v$sort_usage / v$tempseg_usage. Добавьте файл в табличное пространство TEMP или увеличьте его: ALTER TABLESPACE temp ADD TEMPFILE '...' SIZE 2G AUTOEXTEND ON. Если заполнено постоянное табличное пространство, добавьте файл данных. Сократите дисковые сортировки за счёт оптимизации запроса (подходящий индекс, больший PGA_AGGREGATE_TARGET).

Открыть в DBAtlas →

Ещё по этой СУБД