[참조 : http://blog.naver.com/ ]
1. 권한을 확인한다.
SELECT * FROM V$PARAMETER WHERE NAME LIKE '%job%'
조회 값중 Value가 0일 경우 스케쥴러가 동작하지 않으므로 이를 변경한다.
2. Value가 0일 경우 설정 변경
ALTER SYSTEM SET JOB_QUEUE_PROCESSES= 10;
3. Job생성
DECLARE
V_JOB NUMBER(5);
BEGIN
DBMS_JOB.SUBMIT( V_JOB , --job 번호 생성용
'function_name;' , -- 실행 function 이름
SYSDATE , -- Job시작일
'TRUNC(SYSDATE) + 1 + 15.2 / 24' , --Interval (다음날 15시12분)
FALSE ); -- true 이면 submit시에 job을 parsing하지 않는다
-- 새로 생성된 JOB 번호 출력
DBMS_OUTPUT.put_line('DBMS_JOB job number is ' || TO_CHAR(v_job));
COMMIT;
END;
4. Job 보기
SELECT * FROM USER_JOBS;
5. Job 삭제
DBMS_JOB.REMOVE(job);
6. Job 항목 변경
DBMS_JOB.CHANGE(job, what, next_date, interval);
7. Job 수행 작업 변경
DBMS_JOB.WHAT(job, WHAT);
8.Job 시작일자 변경
DBMS_JOB.NEXT_DATE(job, next_date);
9. Job 실행 주기 변경
DBMS_JOB.INTERVAL(job, interval);
10.Job 중단(on Broken)
DBMS_JOB.BROKEN(job, broken, next_date);
11.Job를 바로 실행
DBMS_JOB.RUN(job);