문제상황:
원래 잘 돌던 스케쥴 잡이 있었으나,
강제로 실행을 해서 진행 후 더이상 스케쥴이 돌지 않는 상황이 발생함.
처리내역:
--스케쥴 상태 확인
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 세팅 된 시간에 문제없이 돌았습니다.
반응형
'Error > Database' 카테고리의 다른 글
[Error/MSSQL] 문자열 또는 이진 데이터는 잘립니다 (0) | 2025.04.01 |
---|---|
[Error/Oralce] ORA-06502: PL/SQL: numeric or value error: character string buffer too small (0) | 2024.09.24 |
[Error/Oralce] ORA-01652: unable to extend temp segment by 128 in tablespace TEMP (임시 세그먼트를 확장할 수 없음) (0) | 2024.08.30 |
[Error/Oralce] ORA-01861: 리터럴이 형식 문자열과 일치하지 않음 (0) | 2024.04.03 |
[Error/Oralce] ORA-00911: 문자가 부적합합니다 (0) | 2021.09.05 |
댓글