티스토리 뷰

반응형
오라클에서 정해진 시간 또는 주기적으로 어떤 작업을 구현하기 위해서 자바 또는 PRO*C
를 이용해 비즈니스 로직을 구현하고 유닉스 운영체제 경우 crontab에 등록해서 구현하는
경우가 많습니다. 이러한 기능을 오라클에서는 DBMS_JOB 이라는 기능으로 제공하고
있는데 사용하는 방법은 아래와 같습니다.

VARIABLE  JOBNO   NUMBER;
VARIABLE  INSTNO  NUMBER;
BEGIN
 SELECT INSTANCE_NUMBER INTO :INSTNO FROM V$INSTANCE;
-- JOB 등록
DBMS_JOB.SUBMIT(:JOBNO,
                  '유저명.프로시저명;',  -- SQL OR PROCEDURE
                   SYSDATE,
                   'SYSDATE + 10/24/60',   // 주직적 시간
                    TRUE,
                   :INSTNO
                 );

  COMMIT;
END;
-- 등록된 JOB 목록 조회
SELECT * FROM DBA_JOBS;
 
--명시적 JOB 실행
--EXECUTE DBMS_JOB.RUN(JOBNO);
--명시적 JOB 제거
--EXECUTE DBMS_JOB.REMOVE(23); //JOB 번호
--COMMIT;

위 코드를 SQL*PLUS에서 실행하거나 토드에서 실행하면 됩니다.
안타깝게도 오랜지에서는 스크립트로 등록하는 것은 지원하지 않는듯 합니다.
대신 4.X에서 부터는 JOB이라는 탭에서 GUI로 기능을 지원하더군요.

자세한 정보는 아래 사이트를 참고하시면 됩니다.
URL = http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14258/d_job.htm
반응형