SW/Database / / 2025. 5. 10. 11:53

✅ ORA-04020: deadlock detected while trying to lock object / 원인과 해결 방법

반응형

ORA-04020: deadlock detected while trying to lock object

해당 오류는 객체 잠금(lock) 중 교착 상태(deadlock)가 감지되었을 때 발생합니다.

 

 

오류 원인

  1. 동일 객체에 대해 여러 세션이 동시에 DDL 작업을 수행하려 할 때
  2. 오브젝트를 잠근 세션이 해제되지 않고 대기 중일 때
  3. PL/SQL에서 컴파일 중 객체 접근 충돌

해결 방법

  1. 잠금 세션 확인:
    SELECT s.sid, s.serial#, s.username, l.type, l.id1, l.id2
    FROM v$session s, v$lock l
    WHERE s.sid = l.sid;
  2. 문제 세션 강제 종료:
    ALTER SYSTEM KILL SESSION 'SID,SERIAL#';
  3. DDL 작업을 순차적으로 수행하여 충돌 방지

간단 요약

  • 오류 코드: ORA-04020
  • 오류 요약: 객체 잠금 중 교착 상태 발생
  • 주요 원인: 여러 세션이 동시에 객체 접근 시 충돌
  • 해결 방법: 세션 종료, DDL 순차 처리, 동시 작업 최소화
반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유