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
'👩💻TIL > DB' 카테고리의 다른 글
[ORA-12953]The request exceeds the maximum allowed database size of 11 GB (0) | 2021.08.23 |
---|---|
[DB] JPA와 mapper 방식 비교 및 장단점 (0) | 2021.05.08 |
[DB] DB확장을 하는 두가지 방법- 스케일 아웃(scale out)과 스케일 업 (scale up) (1) | 2020.07.20 |
[MySQL] The server time zone 에러 해결 (0) | 2020.04.10 |
[MyBatis] BindingException: Invalid bound statement (not found) 에러 (0) | 2020.04.10 |
댓글