데이터베이스/오라클(Oracle)

[Oracle] job 관리 방법(job scheduler)

후바스탱크 2016. 5. 11. 13:40
1. JOB 등록


예)


declare

   job_no number;

begin

   dbms_job.submit(job_no, 'SP_UPDATE_DPT();', sysdate, 'sysdate + 1');

end;


참고 : 실행주기 계산

       'sysdate + 7'                          : 일주일에 1회 실행

       'sysdate + 1'                          : 하루에 1회 실행

       'next_day(sysdate, ''TUESDAY'')' : 매주 화요일에 실행

       'null'                                     : 1회 실행

       'sysdate + 1/24'                      : 1시간에 1회 실행

       'sysdate + 1/24/60'                 : 1분에 1회 실행

       'trunc(sysdate+1) + 2/24'     : 다음날 2시에 1회 실행

'TRUNC (SYSDATE + 1) + 6 / 24' : 다음날 아침 6시에 1회 실행



2. JOB 변경


예)


BEGIN

   DBMS_JOB.CHANGE(10, null, null, 'sysdate+3');

   COMMIT;

END;


참고 : COMMIT를 사용하게 되면 변경내용이 바로 적용된다.


3. JOB 조회



4. JOB 삭제


5. JOB 정지/재시작


예)


EXECUTE DBMS_JOB.BROKEN(10, TRUE);

EXECUTE DBMS_JOB.BROKEN(10, FALSE);



6. JOB 다음실행 시간 변경


예) EXECUTE DBMS_JOB.NEXT_DATE(10, SYSDATE+1);



7. JOB 실행주기 변경


예) EXECUTE DBMS_JOB.INTERVAL(10, 'sysdate + 7');



8. JOB 실행