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회 실행
2. JOB 변경
1
2
3
4
5
6
7
8
9
10 |
BEGIN DBMS_JOB.CHANGE(JOB_NO, WHAT, NEXT_DATE, INTERVAL); COMMIT ; END ; 예) BEGIN DBMS_JOB.CHANGE(10, null , null , 'sysdate+3' ); COMMIT ; END ; |
참고 : COMMIT를 사용하게 되면 변경내용이 바로 적용된다.
3. JOB 조회
1
2 |
SELECT * FROM USER_JOBS; SELECT * FROM DBA_JOBS; |
4. JOB 삭제
1
2
3
4
5 |
BEGIN DBMS_JOB.REMOVE(JOB_NO); COMMIT ; END ; / |
5. JOB 정지/재시작
1
2
3
4
5 |
EXECUTE DBMS_JOB.BROKEN(JOB_NO, TRUE ); EXECUTE DBMS_JOB.BROKEN(JOB_NO, FALSE ); 예) EXECUTE DBMS_JOB.BROKEN(10, TRUE ); EXECUTE DBMS_JOB.BROKEN(10, FALSE ); |
6. JOB 다음실행 시간 변경
1
2
3 |
EXECUTE DBMS_JOB.NEXT_DATE(JOB_NO, NEXT_DATE); 예) EXECUTE DBMS_JOB.NEXT_DATE(10, SYSDATE+1); |
7. JOB 실행주기 변경
1
2
3 |
EXECUTE DBMS_JOB.INTERVAL(JOB_NO, INTERVAL); 예) EXECUTE DBMS_JOB.INTERVAL(10, 'sysdate + 7' ); |
8. JOB 실행
1 |
EXECUTE DBMS_JOB.RUN(JOB_NO); |