에러 메시지


ora-30036 : unable to extend segment by 4 in undo tablespace



원인 


rollback할 데이터를 저장하는 undo tablespace가 부족해서 생기는 에러

주로 많은 양의 데이터를 update, insert, delete 할 때 발생



해결방법


1. undo tablespace를 확장


alter tablespace <undotablespace 이름> add datafile <'경로'> size <추가할 용량> <m | k>;


예시)

1
alter tablespace UNDOTBS1 add datafile 'C:/oraclexe/app/oracle/oradata/XE/UNDOTBS5.DBF' size 10m;
cs


이 방법은 기존에 있는 undo tablespace의 용량을 확장하는 방법이다.

이 방법 외에 용량이 큰 새로운 undo tablespace를 만드는 방법도 있다.



2. 쿼리문의 로직을 작은 단위로 잘라서 실행


이 오류는 update, delete, insert를 통해 한 번에 실행되는 데이터 양이 많아서 undotablesapce가 모자라기 때문에 발생하는 것이다.

이를 해결하기 위해 쿼리를 작은 단위로 나누어서 실행해주고 commit을 해주면 된다.


+ Recent posts