본문 바로가기
Error/Database

[Error/Oralce] 스케쥴 잡 강제 실행 후 스케쥴 실행이 되지 않을때 처리 방안

by 챠챠12 2024. 8. 5.

문제상황: 
원래 잘 돌던 스케쥴 잡이 있었으나,
강제로 실행을 해서 진행 후 더이상 스케쥴이 돌지 않는 상황이 발생함.

처리내역:

--스케쥴 상태 확인
SELECT job_name, enabled, state, last_start_date, last_run_duration, next_run_date
FROM user_scheduler_jobs
WHERE job_name = 'your_job_name'
AND LOGGING_LEVEL = 'RUNS'
ORDER BY REPEAT_INTERVAL;

-- 스케쥴 잡 실행 로그
SELECT *
FROM USER_SCHEDULER_JOB_LOG
where 1=1
and job_name ='your_job_name'
order by log_date desc;



스케쥴상태 및 잡 실행 로그를 봤을때는 next_run_date 이 현재 시점보다 과거로 되어있어서 문제 인 것으로 보인다.
GPT 한테 물어봐서 진행했더니 아래와 같이 진행하라고 가이드를 받았다.

BEGIN
  DBMS_SCHEDULER.set_attribute (
    name      => 'your_job_name',
    attribute => 'next_run_date',
    value     => SYSTIMESTAMP + INTERVAL '1' MINUTE -- 현재 시간 이후로 설정
  );
  DBMS_SCHEDULER.enable('your_job_name'); -- 잡을 활성화
END;



그랬더니, ORA-27469: NEXT_RUN_DATE은(는) 적합한 job 속성이 아님 와 같은 오류가 발생했다.
다시 GPT한테 질문하여 잡 비활성화 후 다시 활성화 예시를 전달받아서 실행해봤다.

BEGIN
  DBMS_SCHEDULER.disable('my_job'); -- 'my_job' 잡 비활성화
  DBMS_SCHEDULER.enable('my_job');  -- 'my_job' 잡 다시 활성화
END;
/


그 결과 문제없이 next_run_date 미래시간으로 세팅이 잘된 것을 확인할 수 있었습니다.
스케쥴도  next_run_date 세팅 된 시간에 문제없이 돌았습니다.

반응형

댓글