by 김재성 [Oracle 기초] ORACLE DBMS_SCHEDULER [2014.04.13 15:55:03]
저 같은 경우는 스케쥴, 프로그램을 등록하고 JOB을 생성해서 돌립니다.
제가 사용하고 있는 예시 입니다.
/*--------------------------------------------------------------------------------------------------------------------------------------------------*/
/* 1. 스케쥴 생성 (매일 9시 정각) */
BEGIN
DBMS_SCHEDULER.CREATE_SCHEDULE
(
SCHEDULE_NAME => '스케쥴명 지정',
START_DATE => SYSTIMESTAMP,
END_DATE => NULL,
REPEAT_INTERVAL => 'FREQ=DAILY;INTERVAL=1;BYHOUR=09;BYMINUTE=0;BYSECOND=0;',
COMMENTS => '매일 오전 09시 정각'
);
END;
/
/* 2. 프로그램 생성 */
BEGIN
DBMS_SCHEDULER.CREATE_PROGRAM (
PROGRAM_NAME => 'program name', -- 사용자 지정
PROGRAM_ACTION => '/* comments*/
BEGIN
실행할 프로시져
END;',
PROGRAM_TYPE => 'PLSQL_BLOCK',
COMMENTS => 'TEST');
END;
/* 3. JOB 생성 */
BEGIN
DBMS_SCHEDULER.CREATE_JOB (
JOB_NAME => 'JOB명지정',
PROGRAM_NAME => '등록한 JOB명',
SCHEDULE_NAME => '등록한 스케쥴명'
COMMENTS => 'JOB COMMENTS 작성');
END;