프로그래밍

ORA-00060 deadlock 에러 (데드락 에러) 원인과 해결🤔

프로그래머 무비스 2022. 2. 22. 17:57
728x90
반응형

매일 7시 30분쯤 도는 배치가 있는데 정말 오랜만에 에러가 떠서 봤더니 아래와 같이 데드락 에러코드였다!

ORA-0060 deadlock detected while waiting for resource.

deadlock의 사전적 의미는 '둘 이상의 프로세스가 서로가 가진 한정된 자원을 요청하는 상태'이다.

사전적 의미만 보면 조금 어렵지만 일상생활의 예를 들어 설명해보겠다. 한명만 지나갈 수 있는 좁은 복도에서 누군가와 마주쳤을 때 아무도 비키지도 않고 서로 기다리며 액션을 취하고 있지 않은 상태라고 보면 된다.

이번 에러는 a테이블이 있는데 동시에 B배치, C배치에서 접근하게 되어 서로 상대방의 작업이 끝나기만을 기다리다가 아무것도 하지 못하는 상태 ,데드락 상태가 발생해 생긴 것이다.

그래서 출근 후 바로 배치를 다시 실행했더니 에러가 발생하지 않고 잘 돌았다! 또 발생하게 되면 배치 수행 시간을 바꾸던지 해야겠다.

728x90
반응형