반응형
ORA-04020: deadlock detected while trying to lock object
해당 오류는 객체 잠금(lock) 중 교착 상태(deadlock)가 감지되었을 때 발생합니다.
오류 원인
- 동일 객체에 대해 여러 세션이 동시에 DDL 작업을 수행하려 할 때
- 오브젝트를 잠근 세션이 해제되지 않고 대기 중일 때
- PL/SQL에서 컴파일 중 객체 접근 충돌
해결 방법
- 잠금 세션 확인:
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;
- 문제 세션 강제 종료:
ALTER SYSTEM KILL SESSION 'SID,SERIAL#';
- DDL 작업을 순차적으로 수행하여 충돌 방지
간단 요약
- 오류 코드: ORA-04020
- 오류 요약: 객체 잠금 중 교착 상태 발생
- 주요 원인: 여러 세션이 동시에 객체 접근 시 충돌
- 해결 방법: 세션 종료, DDL 순차 처리, 동시 작업 최소화
반응형