문서유형ㅣ장애해결
분야ㅣ관리/환경설정
적용제품버전ㅣ7FS02PS
문서번호ㅣTADTS061
현상
비활성화(Disable) 상태인 Job scheduler를 활성화(Enable) 하였을 경우 Job이 즉시 수행되는 현상으로,
활성화 시 LAST_START_DATE 컬럼이 갱신되며 Job이 수행됩니다.
재현 시나리오
1. 테이블 생성
SQL> create table test(id number); Table 'TEST' created.
2. job scheduler 생성 (17:55분부터 1분마다 insert 1 )
SQL> BEGIN
DBMS_SCHEDULER.create_job (
job_name => 'INSERT_JOB',
job_type => 'PSM_BLOCK',
job_action => 'BEGIN INSERT INTO test (id) VALUES (1); COMMIT; END;',
start_date => TO_TIMESTAMP(TO_CHAR(SYSDATE, 'YYYY-MM-DD') || ' 17:55:00', 'YYYY-MM-DD HH24:MI:SS'),
repeat_interval => 'FREQ=MINUTELY; INTERVAL=1',
enabled => TRUE
);
END;
/
PSM completed.
3. 생성 확인
SQL> SELECT run_count, enabled, state, START_DATE, LAST_START_DATE, next_run_date, failure_count
FROM user_scheduler_jobs
WHERE JOB_NAME='INSERT_JOB';
RUN_COUNT ENABLED STATE START_DATE LAST_START_DATE NEXT_RUN_DATE FAILURE_COUNT
---------- ------- ---------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------
TRUE 2025/05/19 17:55:00.000000 Asia/Seoul
1 row selected
4. Job disable
SQL>
BEGIN
DBMS_SCHEDULER.DISABLE('INSERT_JOB');
END;
/
PSM completed.
5. Disable 확인
SQL> SELECT run_count, enabled, state, START_DATE, LAST_START_DATE, next_run_date, failure_count
FROM user_scheduler_jobs
WHERE JOB_NAME='INSERT_JOB';
RUN_COUNT ENABLED STATE START_DATE LAST_START_DATE NEXT_RUN_DATE FAILURE_COUNT
---------- ------- ---------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------
FALSE 2025/05/19 17:55:00.000000 Asia/Seoul
1 row selected.
6. 테이블 확인
SQL> select * from test; 0 row selected.
7. Job enable
SQL> BEGIN
DBMS_SCHEDULER.enable('INSERT_JOB');
END;
/
PSM completed.8. 상태 확인 (LAST_START_DATE 갱신)
SQL> SELECT run_count, enabled, state, START_DATE, LAST_START_DATE, next_run_date, failure_count
FROM user_scheduler_jobs
WHERE JOB_NAME='INSERT_JOB';
RUN_COUNT ENABLED STATE START_DATE LAST_START_DATE NEXT_RUN_DATE FAILURE_COUNT
---------- ------- ---------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------
1 TRUE 2025/05/19 17:55:00.000000 Asia/Seoul 2025/05/19 15:50:34.000000 Asia/Seoul 2025/05/19 15:51:34.000000 Asia/Seoul
1 row selected.
9. 상태 확인 (LAST_START_DATE 갱신)
SQL> select * from test;
ID
----------
1
원인
Scheduler Job 경우 broken 해제 처리가 없었고, next_date 를 항상 현재 시각으로 변경하고 있어 Job이 즉시 수행되었습니다.
해결
패치를 적용함으로써, Job이 사용자가 지정한 시간에 수행될 수 있도록 문제를 개선할 수 있습니다. (적용패치: 338849).
주의티맥스티베로에서 제공하는 기술지원을 통해 패치를 적용합니다.