달력

42024  이전 다음

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

테이블 스페이스 가용용량이 다 찼기때문에 나타나는 DB 메세지다.

 

org.springframework.jdbc.UncategorizedSQLException: SqlMapClient operation; uncategorized SQLException for SQL []; SQL state [72000]; error code [1653]; ORA-01653: GW5_OFFICE.ZT_MAIL_SEND_RECIPIENT 테이블을 128(으)로 GW5_DATA 테이블스페이스에서 확장할 수 없습니다
; nested exception is java.sql.BatchUpdateException: ORA-01653: GW5_OFFICE.ZT_MAIL_SEND_RECIPIENT 테이블을 128(으)로 GW5_DATA 테이블스페이스에서 확장할 수 없습니다

 

 

이런식으로 오류가 나왔을때에는 당황하지말고 아래 방법으로 해결하면 된다.

 

 

테이블 스페이스 확인법

select * from DBA_DATA_FILES;

 

 

system 계정으로 들어가서

아래 쿼리를 돌려보게 되면

 

SELECT
df.file_name "파일명",
df.tablespace_name "테이블 스페이스명",
TO_CHAR( (df.bytes / 1024),'999,990,999') "총 (Kb)",
TO_CHAR( (((df.bytes - Sum ( Nvl(fs.bytes,0)))) / 1024),'999,990,999') "사용(Kb)",
TO_CHAR( (( sum( Nvl(fs.bytes,0))) / 1024),'999,990,999') "가용(Kb)",
TRUNC( ((Sum (Nvl(fs.bytes,0)) / (df.bytes)) * 100),2) "가용 %"
FROM DBA_FREE_SPACE fs, DBA_DATA_FILES df
WHERE fs.file_id(+) = df.file_id
GROUP BY df.tablespace_name, df.file_name, df.bytes
ORDER BY df.tablespace_name;

 

 

 

가용용량이 0%인것을 볼수 있게 된다.

 

테이블스페이스를 만들때 MAX SIZE를 지정해놓게되면 자동으로 늘어나지 않고 가용용량이 없어지게 되는데

 

이때 용량을 언리미트로 아래 쿼리문을 이용하여 변경해주면 된다.

 

ALTER DATABASE DATAFILE '파일명경로' AUTOEXTEND ON MAXSIZE UNLIMITED;

 

ex) ALTER DATABASE DATAFILE 'D:\APP\ADMINISTRATOR\ORADATA\GW5\GW_DATA_01.DBF' AUTOEXTEND ON MAXSIZE UNLIMITED;

 

 

언리미트로 지정해놓았는데도 불구하고 가용용량이 0%이면 테이블스페이스를 아래 쿼리문을 이용하여 새로 추가해 주어야 한다.

 

alter TABLESPACE TABLESPACE_OFFICE6 add datafile '파일생성경로' size 1000M AUTOEXTEND ON MAXSIZE UNLIMITED; ​

 

 

ex) alter TABLESPACE TABLESPACE_OFFICE6 add datafile 'D:\APP\ADMINISTRATOR\ORADATA\GW5\GW_DATA_02.DBF'  size 1000M AUTOEXTEND ON MAXSIZE UNLIMITED; ​

 

Posted by 푸른길땡
|

잘되던 프로그램이 갑자기 안되어서 로그를 확인해보니

 

org.springframework.jdbc.UncategorizedSQLException: SqlMapClient operation; uncategorized SQLException for SQL []; SQL state [72000]; error code [1653]; ORA-01653: GW5_OFFICE.ZT_MAIL_SEND_RECIPIENT 테이블을 128(으)로 GW5_DATA 테이블스페이스에서 확장할 수 없습니다
; nested exception is java.sql.BatchUpdateException: ORA-01653: GW5_OFFICE.ZT_MAIL_SEND_RECIPIENT 테이블을 128(으)로 GW5_DATA 테이블스페이스에서 확장할 수 없습니다

위의 로그가 보였다.

테이블 스페이스에서 확장할 수 없습니다.

우선 테이블스페이스 용량을 확인하는 쿼리를 실행했다.

테이블 스페이스 확인법

select * from DBA_DATA_FILES;

확인쿼리

SELECT
df.file_name "파일명",
df.tablespace_name "테이블 스페이스명",
TO_CHAR( (df.bytes / 1024),'999,990,999') "총 (Kb)",
TO_CHAR( (((df.bytes - Sum ( Nvl(fs.bytes,0)))) / 1024),'999,990,999') "사용(Kb)",
TO_CHAR( (( sum( Nvl(fs.bytes,0))) / 1024),'999,990,999') "가용(Kb)",
TRUNC( ((Sum (Nvl(fs.bytes,0)) / (df.bytes)) * 100),2) "가용 %"
FROM DBA_FREE_SPACE fs, DBA_DATA_FILES df
WHERE fs.file_id(+) = df.file_id
GROUP BY df.tablespace_name, df.file_name, df.bytes
ORDER BY df.tablespace_name;

확인결과,

가용%가 0%가 되어있었다.​

테이블 스페이스용량 늘리기! 자동으로 늘어나게끔!!

용량 늘리기쿼리문

ALTER DATABASE DATAFILE 'D:\APP\ADMINISTRATOR\ORADATA\GW5\GW_DATA_01.DBF' AUTOEXTEND ON MAXSIZE UNLIMITED;

​이런 현상이 생기는 이유는,

테이블스페이스를 만들때 MAXSIZE를 지정해놔서 그렇다.

테이블스페이스 ADD하기

alter TABLESPACE TABLESPACE_OFFICE6 add datafile '경로' size 1000M AUTOEXTEND ON MAXSIZE UNLIMITED; ​

 

 

Posted by 푸른길땡
|