데이터 사이언스 DataScience/Data Base 데이터베이스
2022. 3. 2.
[Oracle] DBMS_JOB 실행 중 row lock contention 발생
1. 한줄 요약 DBMS_JOB 패키지 실행시 내부적으로 DML이 수행되니, COMMIT 또는 ROLLBACK 필수 2. 문제상황 1) DB버전 : 11g인 (9i에서 마이그레이션된 DB) LEGACY 시스템에서 오라클 DB JOB을 통해 매일 실행되는 로직 존재 2) 개선을 위해 DBMS_JOB 패키지를 활용해 JOB을 REMOVE 하고 다른 로직을 적용하기로 함. EXECUTE SYS.DBMS_JOB.REMOVE(JOB 아이디); 3) 실행 후 다른 세션으로 JOB을 확인했더니 (ALL_JOBS 또는 DBA_JOBS에서 확인) JOB이 존재. 4) REMOVE, BROKEN을 시도했더니 DBMS_JOB.REMOVE가 끝나지 않음 (무한 실행) 3. 문제원인파악 / 개선 1) 무한 실행되는 상황에서 A..