기술 정보
home
채널 소개
home

Job Scheduler 상태 변경시 JOB 즉시 수행 현상

문서 유형
장애 해결
분야
관리/환경설정
키워드
job scheduler
적용 제품 버전
7FS02PS
1 more property

현상

비활성화(Disable) 상태인 Job scheduler를 활성화(Enable) 하였을 경우 Job이 즉시 수행되는 현상으로,
활성화 시 LAST_START_DATE 컬럼이 갱신되며 Job이 수행됩니다.

[시나리오]

1. 테이블 생성

SQL> create table test(id number); Table 'TEST' created.
SQL
복사

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.
SQL
복사

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
SQL
복사

4. Job disable

SQL> BEGIN DBMS_SCHEDULER.DISABLE('INSERT_JOB'); END; / PSM completed.
SQL
복사

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.
SQL
복사

6. 테이블 확인

SQL> select * from test; 0 row selected.
SQL
복사

7. Job enable

SQL> BEGIN DBMS_SCHEDULER.enable('INSERT_JOB'); END; / PSM completed.
SQL
복사

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.
SQL
복사

9. 상태 확인 (LAST_START_DATE 갱신)

SQL> select * from test; ID ---------- 1
SQL
복사

원인

Scheduler Job 경우 broken 해제 처리가 없었고, next_date 를 항상 현재 시각으로 변경하고 있어
Job이 즉시 수행되었습니다.

해결

패치를 적용함으로써, Job이 사용자가 지정한 시간에 수행될 수 있도록 문제를 개선할 수 있습니다. (적용패치: 338849)
주의
티맥스티베로에서 제공하는 기술지원을 통해 패치를 적용합니다.