본문 바로가기
👩‍💻TIL/DB

[ORA-01691] unable to extend lob segment by 1024 in tablespace SYSTEM

by devuna 2021. 8. 23.
728x90

해당 이슈는 오라클 테이블스페이스에 여유공간이 없어서 발생하는 이슈

-> 테이블 스페이스 공간 늘려주는 것이 필요하다! 

 

 

 

1️⃣먼저, 테이블 스페이스에 남은 용량은 확인한다.

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️⃣ 용량을 늘리고 싶은 테이블 스페이스의 data file 찾기

SELECT file_name, tablespace_name, bytes FROM dba_data_files WHERE tablespace_name = '테이블스페이스 이름'

 

3️⃣ 찾은 data file 용량 늘리기

 

1. 기존의 data file 크기 변경

ALTER DATABASE DATAFILE '<data file 경로>' RESIZE <integer> <k|m>;

예를 들어, 10G로 늘리고 싶다면,

ALTER DATABASE DATAFILE 'user01/oradata/xe/users.dbf' RESIZE 10000M;

 

2. datafiledml size를 자동으로 확장되도록 설정

ALTER DATABASE DATAFILE ‘<data file 경로>’ AUTOEXTEND ON 
MAXSIZE UNLIMITED;

 

나는 1번 방식으로 data file 의 크기를 10G로 늘렸다.

 

📌 참고 

용량을 늘리기전, 먼저 남아 있는 디스크 용량을 확인해야 한다.

확인하지 않고 크게 설정할 경우 디스크의 용량을 초과할 수 있기 때문에, 반드시 확인 후 한도 내에서 늘리기!

 

 

 

4️⃣ 늘어난 용량 확인하기

SELECT file_name, tablespace_name, bytes FROM dba_data_files WHERE tablespace_name = '테이블스페이스 이름';

 

 

 

 

끝!

728x90

댓글