ORA-01652: 임시 세그먼트를 확장할 수 없습니다 (ORA-01652: unable to extend temp segment by in tablespace)

ORA-01652: 임시 세그먼트를 확장할 수 없습니다 오류를 해결하는 방법에 대해 알아보도록 합시다.

해당 오류는 보통 영문으로 숫자와 함께 다음과 같은 표현으로 안내해드립니다 : ORA-01652: unable to extend temp segment by in tablespace

실제로는 위와 같은 문구 그대로 오류가 발생하지는 않고, 2의 배수와 함께 테이블스페이스 이름도 같이 나타납니다. 예를 들면 다음과 같습니다.

ORA-01652: unable to extend temp segment by 16 in tablespace temp1

ORA-01652: unable to extend temp segment by 128 in tablespace temp

ORA-01652: unable to extend temp segment by 256 in tablespace temp

ORA-01652: unable to extend temp segment by 4096 in tablespace tmp

ORA-01652: unable to extend temp segment by 8192 in tablespace users

임시 세그먼트, 임시 테이블스페이스에서 발생하는 경우는 보통 인라인 뷰 등에서 과도한 데이터 페치로 용량을 초과하는 유형이 많습니다. (일반 테이블스페이스에서 오류가 발생했다면, 데이터파일 저장 공간의 부족 가능성도 생각해 볼 수 있습니다.)

ORA-01652 임시 세그먼트를 확장할 수 없습니다

ORA-01652: 임시 세그먼트를 확장할 수 없습니다 해결하기

임시 테이블스페이스를 점검해 봅시다. 조회 방법은 다음과 같습니다.

SELECT * FROM DBA_TEMP_FILES;

필요시 다음과 같은 명령어로 테이블스페이스 용량을 확장해 주세요. 데이터베이스 임시파일은 파일 이름을 지정해야 합니다. 예제는 다음과 같습니다. 리사이즈 정도만 고려해 보아도 충분히 해결할 수 있는 오류로 보입니다.

--TEMP.DBF 파일을 1024M로 용량을 수정해 보겠습니다.

ALTER DATABASE TEMPFILE 'D:\~\~\TEMP.DBF' RESIZE 1024M;

ORA-01652 임시 세그먼트를 확장할 수 없습니다 해결하기

파일명을 제대로 지정하지 않으면 ORA-02236: 파일명이 부적합합니다 오류가 발생할 수 있습니다. 테이블스페이스 네임을 지정하시면 안 됩니다.

데이터베이스 임시파일 리사이즈만 알려드렸는데, 필요에 따라 데이터베이스 임시 파일 추가 또는 자동 확장 등을 설정을 고려할 수도 있습니다.

댓글 쓰기
가져가실 때, 출처 표시 부탁드려요! 감사합니다. 💗