DB

oracle job 등록

I장군T 2022. 3. 22. 10:26
반응형

JOB 등록 방법

1. 생성

DECLARE

  v_job NUMBER; -> job 번호 들어감..자동으로

BEGIN

  SYS.DBMS_JOB.SUBMIT

  ( v_job                       

   ,'USER.PROCEDURE_NAME;'

   ,TO_DATE('2012/08/08 05:00:00', 'YYYY/MM/DD HH24:MI:SS'),   -- 다음실행 시간

   ,'TRUNC(SYSDATE+1)+ 1/24',                                                          -- 실행주기

   , FALSE

  );

SYS.DBMS_OUTPUT.PUT_LINE('Job Number is: ' || to_char(v_job));

COMMIT;

END;

 

 

2. 수정

EXEC DBMS_JOB.CHANGE(job, '프로시져명', 다음실행 시간'TRUNC(SYSDATE+1)+ 5/24');

 

전체 수정할 경우는 CHANGE로 나머지는 job순번을 기준으로 수정 파라메터만 다시 세팅하는 방식으로 수정

 

- 프로시져를 바꿀 경우

EXEC DBMS_JOB.WHAT(job, '프로시져명');

 

- 다음실행 시간을 바꿀경우

EXEC DBMS_JOB.NEXT_DATE(job, 다음실행 시간);

 

- 실행주기 바꿀 경우

EXEC DBMS_JOB.INTERVAL(job, '실행주기');

 

3. 즉시 실행

바로 실행 시키고자 할 경우

EXEC DBMS_JOB.RUN(job);

 

* 실행주기 설정

sysdate + 7  : 7일마다 실행 

sysdate + 1/24 : 1시간 마다 실행

sysdate + 1/24/6   : 10분마다 실행

sysdate + 1/144    : 이것도 10분마다 실행

trunc(sysdate+1) : 매일밤 12시에 실행

trunc(sysdate+1) + 3/24  : 매일 오전 3시에 실행

next_day(trunc(sysdate), 'MONDAY') + 15/25 : 매주 월요일 오후 3시 정각에 실행

trunc(last_day(sysdate)) + 1 : 매월 1일 밤 12시에 실행

trunc(last_day(sysdate)) + 1 + 8/24 : 매월 1일 오전 8시에 실행

trunc(last_day(sysdate)) + 1 + 8/24 + 30/1440 : 매월 1일 오전 8시 30분에 실행

반응형

'DB' 카테고리의 다른 글

oracle 계정 생성 후 시노님(synonym) 걸기  (0) 2022.04.08
Oracle PID로 SQL찾기  (0) 2022.04.08
oracle LOCK 걸린 테이블 확인  (0) 2022.04.08
H2 설치  (0) 2022.04.08
oracle pivot 기능  (0) 2022.03.22