안녕하세요 마블랑입니다.
이번에 업무관련하여 오라클 데이터베이스에 쿼리문을 실행하다 에러가 발생하였습니다.
쿼리를 실행하였을때 처리되는 데이터 양이 너무 많아 두시간 좀 넘게 걸렸었는데 실행은 되지않고 에러문만 출력되는 군요...
출록된 에러문은 ORA-30036으로 "새그먼트를 8만큼 실행취소 테이블스페이스 'UNDOTBS1'에서 확장할 수 없음" 이라는 메시지도 함께 출력이 되었습니다.
무슨말인지 전혀 몰라서 에러코드를 구글링 해본결과 간단히 설명하자면 한번에 실행되는 쿼리의 데이터양이 너무 많아 메모리가 부족하여 더이상 실행할 수 없다고 설명드릴수 있겠습니다.
(데이터베이스의 내부적 동작에 대해서는 잘 알지 못하여 간단하게 설명드렸습니다~)
두시간이나 걸려서 에러코드를 받았는데 아마 쿼리가 잘못된거였으면 시작하자마자 에러가 표시되지 않았을까 생각합니다
그래서 아마 실행도중 다른문제때문에 에러가 발생한다고 추측을 할수 있었습니다~
그래서 방금 발생한 에러를 해결하기 위해서는 테이블 스페이스라는 영역을 확장 시켜야 하는데 데이터베이스를 잘 알지 못하기때문에 작업이 뭔가 복잡해 보입니다.
그래서 다른 방법을 찾아보았는데 첫번째 방법보다 훨씬 간단한 방법으로 조건문를 추가하여 쿼리를 쪼개서 실행하면 자연스럽게 해결되는 에러라고 말하고 싶군요~
조건문을 통해 날짜컬럼이 있다면 기간을 나누고 고유의 ID가 있다면 범위로 나누던가 아니면 특정한 구분자가 있으면 그 구분자로 나눠서 쿼리를 실행해주시면 되겠습니다.
이런 오라클에러는 처음 겪어봐서 에러코드만 확인하는데듀 두시간이 넘게 소요되었습니다 ㅠㅠ
다음부터는 이런일이 발생하지 않도록 데이터양을 확인하고 진행을 하려고 합니다^^
참고로 데이터양은 1억건이었는데 참고하셔서 작업하는데 도움이 되었으면 좋겠습니다
이상 마블랑이었습니다. 읽어주셔서 고맙습니다
'개발 이야기 > 개발자 이야기' 카테고리의 다른 글
VisualStudio 2019 무료 버전 Community 버전 설치(Window 무료 개발툴 ) (1) | 2019.04.26 |
---|---|
비주얼스튜디오 단축키 (바로가기 키 설정, 기본 바로가기 키 소개) (0) | 2019.02.07 |
[데이터베이스] SQL Query문 간단 정리 (SELECT, INSERT, UPDATE, DELETE 쿼리문 사용법) (6) | 2019.01.05 |
카이사르 암호 시저암호 치환암호 Rot13 키없는 암호 알고리즘 (693) | 2018.12.22 |
[데이터베이스] ORA-01013 사용자가 현재 작업의 취소를 요청했습니다.(user requested cancel of current operation) 해결방법(CDatabase 타임아웃 설정,timeout set) (0) | 2018.11.18 |
댓글