develop

oracle dbms_job, 오라클 스케줄링, 오라클 db job

파드파드 2008. 6. 15. 15:20
반응형

밑에 녀석이 스케줄링 어떻게 하냐고 물어봤다.
이왕 하는 거 정리해서 올리기로 했다.

1. Job의 생성.
DECLARE jobno NUMBER(5);
begin
 dbms_job.submit(jobno, 'USP_TEST;', sysdate, 'sysdate + 1/24/60',   FALSE );
 commit;
end;

-- 위에꺼 재설명 하자면...
DECLARE jobno NUMBER(5);
begin
 dbms_job.submit(
  jobno,          -- job의 번호. output 변수임.
  'USP_TEST;',    -- job이 실행할 쿼리 및 SP. single quatation('~') 으로 감싸야함.
  sysdate,        -- job이 실행될 시간.
  'sysdate + 1/24/60'  -- job의 실행간격. 여기서는 1분간격. '~' 으로 감싸야함.
);
 commit;
end;

SELECT * FROM user_jobs; 실행하여 생성여부 확인.

2. Job의 정지, 수정, 삭제
실행 :
exec  dbms_job.run(jobno);

정지 : exec  dbms_job.broken(jobno, TRUE);

수정 : exec dbms_job.change(:jobno, USP_TEST;', sysdate, 'sysdate + 1/24/6');
       -- 10분 간격

삭제 :  exec dbms_job.remove(jobno);

반응형