본문으로 바로가기
반응형

■ 운영시 아래와 같은 에러코드를 내뱉으며 발생하는 경우가 종종 있습니다.

■ ORA-01653 Unable to extend table

해당 오류는 tablespace 의 용량을 모두 사용하여, 용량부족으로 인한 문제가 발생한 경우 이므로,

용량을 늘려주거나, DATAFILE 을 새로 생성하여 기존 TABLESPACE 에 연결을 시켜주는 방법이 있습니다.

 해결방안

1) TABLESPACE DATAFILE 용량 확장하기 

2) DATAFILE 를 신규로 생성하여 TABLESPACE 에 할당하기

1) TALESPACE DATAFILE 용량 확장하기

- DATAFILE 1개의 크기는 MAX 32 GB 까지 사용할수 있다.

- Autoextend 설정이 되지 않는 상태에서, 초기 DATAFILE의 용량을 넘어 설 경우, 해당 오류가 발생할 수 있습니다.

- Autoextend 가 설정 되었으나, DATAFILE 이 32 GB 를 모두 사용하여 공간이 없을 경우 발생합니다.

DATAFILE SIZE 변경방법

 

SQL> ALTER DATABASE DATAFILE '테이블스페이스 데이터파일.DBF' RESIZE 30G;

ex) alter database datafile '/oradata/MINDB/TS_min_datafile_01.dbf' resize 30G;

-> TS_min_datafile_01.dbf 의 용량을 30 GB로 설정

 

2) DATAFILE 생성하여 TABLESPACE 에 할당하기

 

■ DATAFILE 할당 방법

 

SQL> ALTER TABLESPACE 테이블스페이스명        

         --> 테이블 스페이스 생성


          ADD DATAFILE '/경로/데이터파일명.dbf' SIZE 1G  

         --> 데이터파일 경로 및 사이즈 설정


          AUTOEXTEND ON NEXT 100M;      

         --> Autoextend 설정 ( 회사 별로 상이)


 ex)  alter tablespace TS_min add datafile
     '/oradata/MINDB/TS_min_datafile_02.dbf' size 10G autoextend on next 100M;


 -> Tablespace TS_min 에 DATAFILE 추가

 -> Tablespace datafile 경로 : /oradata/MINDB/TS_min_datafile_02.dbf

 -> datafile size : 10 GB (10GB 로 초기 생성 / 100M , 1G 등 사용자에 맞게 생성한다.)

 -> autoextend : 초기값 10GB 사용 이후 100M 씩 자동으로 tablespace용량 증가

 

 

 

 

 

별첨) AUTOEXTEND 를 사용하여, 사이즈 자동 증가가 가능하지만, 단일 DATAFILE에 한정된다.

서버 운영시 서버SPEC 이 충분하다면 DATAFILE을 여러개 생성하여 운영하는 것도 방법이다.

 

 

ORA-01653