DBAtlas · 데이터베이스 운영 아틀라스

ORA-01652: Unable to extend temp segment by N in tablespace

Oracle

의미

Oracle이 임시(temp) 세그먼트를 확장할 충분한 여유 공간을 테이블스페이스에서 찾지 못했다. 보통 정렬, hash join 또는 global temporary table 작업 중 발생한다.

원인

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에서 열기 →

같은 데이터베이스의 다른 항목