by plazma [Oracle 에러코드] undo undo tablespace undotbs [2017.07.25 11:15:50]
안녕하세요.
undo tablespace 질문좀 올리겠습니다.
시스템 운영중 항상 undo tablespace 는 풀 상태였고 그 상태로 운영해도 다른문제가 없어서 신경쓰지 않았습니다.
그런데 트랜잭션이 많았던날(500만)에 ORA-30036 이 발생하였고 임시 방편으로 undo dbf 파일을 추가 해서 문제상황은 넘어 갔습니다.
검색 해보니 작은단위로 트랜잭션을 나누는게 방법이라 해서 현재 단건처리시 commit 하고 있습니다.
1. undo tablespace 는 풀상태로 두는게 잘못된 일인가요?
2. 추가한 undo dbf 파일도 풀차게 되면 같은 문제가 발생할까요?
3. 작은단위로 commit 처리한것이 문제해결에 도움을 줄수 있을까요?
문의드립니다.
감사합니다
https://community.oracle.com/thread/624556
위 글이 도움이 될 것 같습니다.
1. 평상시에는 문제가 안되겠지만, 대량이 트랜잭션이 발생할 것 같다면, 미리 테이블스페이스 용량을 늘려두시는게 좋겠죠.
2. 언두테이블스페이스는 full이 발생해도, 링크된 게시물의 알고리즘에 의해 재활용합니다. 그래도 공간이 부족할 땐 동일 오류가 나겠죠.
3. 해당 오류 발생 방지를 위해선 테이블스페이스를 늘리거나, 언두리텐션 시간을 짧게하거나, 커밋을 자주하거나 하는 방법들이 있습니다. 말씀하신 방법이 해당 오류에 대한 해결책 중 하나가 될 수 있으나, 상황에 따라 다른 문제점이 나타날 수 있으니 그 방법이 정답이라곤 할 수 없습니다.