조회할때 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에 도달했거나 ...
그런 이유가 있을 겁니다.
'닷컴's_열공 > Database' 카테고리의 다른 글
count 보다 exists를 쓰는것이 더 좋습니다. (0) | 2012.09.03 |
---|---|
LOCK 문제를 일으키는 SQL 명령 찾기 (0) | 2012.09.03 |
UNDOTBS 재생성 (0) | 2012.08.27 |
ora-09817 파티션 용량 가득 찼을 경우 에러 (OS에서 df-k 확인) (0) | 2012.08.27 |
오라클 encode , decode (0) | 2012.05.23 |