Oracle 대용량 배치 실패 — 복구 과정 + 재발 방지 체계 구축
Oracle DBA 운영 중 가장 기억에 남는 경험은 야간 배치 작업 중 대형 테이블 삭제 후 롤백이 UNDO 공간 부족으로 실패하면서 테이블이 불완전한 상태로 남은 상황이었습니다. 삭제가 절반만 된 상태로 배치가 실패했고, 트랜잭션 롤백도 UNDO 고갈로 불가능한 상황이었습니다. 먼저 해당 테이블에 대한 접근을 차단하고, 소규모 청크로 나눠 삭제를 완료하는 방식으로 상태를 정리했습니다. 복구 후 원인 분석에서 UNDO 테이블스페이스 자동 확장이 비활성화돼 있었던 것이 원인이었고, 이를 수정했습니다.
대형 데이터 작업 전 UNDO 공간 여유를 점검하는 사전 체크리스트를 만들었고, 이후 배치 작업 시 이 체크를 자동화하는 스크립트를 팀 표준으로 추가했습니다. 팀워크 면에서는 개발팀과 협력해 대용량 삭제를 청크 처리 방식으로 기본화하는 가이드를 만들었습니다.