본문 바로가기

닷컴's_열공/Database

ORA-01652: 128(으)로 테이블 공간 TEMP에서 임시 세그먼트를 확장할 수 없습니다 [출처] ORA-01652: 128(으)로 테이블 공간 TEMP에서 임시 세그먼트를 확장할 수 없습니다 |작성자 아덴캡슐

조회할때 ORA-01652: 128(으)로 테이블 공간 TEMP에서 임시 세그먼트를 확장할 수 없습니다 

temp 테이블스페이스를 늘리려고 하는데, 
temp 테이블 스페이스가 어떤 데이터 파일 사용하는지 볼 수 있는 방법 
이 있다면 알려주시겠습니까 

select * from DBA_DATA_FILES 라는 쿼리를 써도 템프는 안보이네요 

디비서버를 보니 데이터 파일 여러개가 모여있는 디렉토리가 있는데요 
거기에 system.dbf 도 있고 
tempORA.dbf 라는 것도 있습니다. 

아마도 tempORA.dbf 이게 아닌가 싶긴 한대... 확실치가 않아서요... 
현재도 데이터파일의 용량이 40메가 정도나 되는데... 왜 그 메시지가 나는지는 잘모르겠습니다... 

그리고... tempORA.dbf 가 맞다고 가정시 아래와 같은 명령으로 하면 되겠죠? 

ALTER TABLESPACE temporary ADD TEMPFILE ''tempORA02.dbf'' size 50M; 

또는 

ALTER DATABASE TEMPFILE ''tempORA.dbf’ RESIZE 100M; 

 
답변순번 1 답변자 delri 답변일 2004-11-16 00:30:41.0 
내용 아래의 절차로 해결해보세요.. 

1. TEMP 테이블스페이스의 데이터파일크기 확인 
SELECT * FROM DBA_DATA_FILES WHERE TABLESPACE_NAME=''TEMP''; 

no rows selected 될수도 있음.. 

2. TEMP 테이블스페이스의 TEMPFILE 크기 확인 
SELECT * FROM DBA_TEMP_FILES WHERE TABLESPACE_NAME=''TEMP''; 

3. 테이블스페이스 공간 추가(3개중의 하나) 
1)ALTER TABLESPACE TEMP ADD TEMPFILE ''/ORADATA/TEMP02.DBF'' SIZE 100M; 
또는 
2)ALTER DATABASE TEMPFILE ''/ORADATA/TEMP01.DBF'' AUTOEXTENT ON; 
기존의 TEMP01.DBF를 AUTOEXTENT로 바꿈.. 
또는 
3)ALTER DATABASE TEMPFILE ''/ORADATA/TEMP01.DBF'' RESIZE 100M; 


 
답변순번 2 답변자 human21 답변일 2004-11-16 15:14:40.0 
내용 ORA-01652 error가 났을 당시 v$sort_segment를 확인해서 

현재 할당된 크기가 얼마인지 확인해 보셔야 할것 같습니다. 

temp tablespace를 구성하는 data file의 size가 작아서 발생한 error라면 

data file을 추가하거나 늘려주면 되겠지만 

v$sort_segment를 확힌했을때 현재 temp tablespace를 구성하는 file의 

size보다 작게 사용(할당)되었음에도 에러가 났다면 다른 이유... 

아마 temp tablespace의 max extents에 도달했거나 ... 

그런 이유가 있을 겁니다.