ORA-01691: unable to extend LOB segment by 1024 in tablespace 오류 해결 방법

해당 오류는 Tablespace가 부족해서 발생하는 오류이다. Tablespace를 늘려주거나 확장해주면 된다.





1. 현상

ORA-01691: OOO.SYS_LOB0000096269C00233$$ LOB 세그먼트를 1024(TABLESPACE_A테이블스페이스에 있음)에 의해 확장할 수 없음

또는

ORA-01691: unable to extend LOB segment by 1024 in tablespace TABLESPACE_A

2. 조치방법

2.1 sqlplus 접속 or 권한있는 계정으로 db 접속

sqlplus sysdba로 접속 방법:

>sqlplus
> sys as sysdba
> 비밀번호: 엔터

2.2 Tablespace 용량 확인

아래 쿼리를 통해 용량이 부족한 tablespace 정보를 확인한다.

select   substr(a.tablespace_name,1,30) tablespace,
         round(sum(a.total1)/1024/1024,1) "TotalMB",
         round(sum(a.total1)/1024/1024,1)-round(sum(a.sum1)/1024/1024,1) "UsedMB",
         round(sum(a.sum1)/1024/1024,1) "FreeMB",
         round((round(sum(a.total1)/1024/1024,1)-round(sum(a.sum1)/1024/1024,1))/round(sum(a.total1)/1024/1024,1)*100,2) "Used%"
from
         (select   tablespace_name,0 total1,sum(bytes) sum1,max(bytes) MAXB,count(bytes) cnt
          from     dba_free_space
          group by tablespace_name
          union
          select   tablespace_name,sum(bytes) total1,0,0,0
          from     dba_data_files
          group by tablespace_name) a
group by a.tablespace_name
order by tablespace;
부족한 테이블 스페이스 정보 확인
부족한 테이블 스페이스 정보 확인

 

2.3 용량 확보하려는 datafile 경로 확인

위 2.1에서 확인한 tablespace 이름을 아래 SQL의 where조건에 넣어서 datafile의 경로 정보를 확인한다.

select file_name, tablespace_name, bytes, autoextensible from dba_data_files where tablespace_name = 'TABLESPACE_A';

 





2.4 Tablespace 확장 (datafile 추가)

아래 SQL을 통해 Tablespace를 추가한다.

아래 SQL의 경우, TABLESPACE_A 테이블스페이스에 새로운 2GB 크기의 데이터 파일이 추가되며, 필요한 경우 100MB씩 자동으로 확장된다. 최대 크기 제한이 없으므로 데이터 파일은 필요한 크기로 계속 확장될 수 있다.

alter tablespace [TABLESPACE_A]
add datafile 'D:\APP\ORACLE\ORADATA\PROD\TABLESPACE2.DBF'
size 2G
autoextend on next 100M
maxsize unlimited;

 

마지막으로 2.2의 방법으로 추가된 Tablespace와 용량을 확인한다.

 

[함께 보면 도움이 되는 글]

▶ 로카 라이킷 1.2 카드 할인 혜택 정리 (전월 실적 없어도 최대 1.5%)

Leave a Comment