반응형
잡 스케줄러 정의
주기적으로 수행되는 쿼리나 프로시저 등을 시간, 일, 월 단위로 실행하는 동작, 쉽게 말해서 매크로
잡 스케줄러 생성
DECLARE
X NUMBER;
BEGIN
SYS.DBMS_JOB.SUBMIT(
job => X
, what => '프로시저명;'
, next_date => to_date('04-02-2021 20:29:24', 'dd/mm/yyyy hh24:mi:ss')
, interval => 'SYSDATE +1/24/6'
, no_parse => FALSE
);
SYS.dbms_output.put_line('Job Number is : ' ||to_char(x));
commit;
END;
/
- job : 실행 job number
- what : 실행할 PL/SQL 프로시저 명
- next_data : job의 시작 날짜 지정
- interval : job을 수행한 후 다음 실행 시간까지의 시간을 지정
- no_parse : TRUE면 SUBMIT 시에 job을 parsing 하지 않음
※ job interval 시간 설정
시간 | 의미 |
SYSDATE + 7 | 7일에 한 번 |
SYSDATE + 1/24 | 1시간에 한 번 |
SYSDATE + 30/86400 | 30초에 한 번 |
SYSDATE + 1/1440 | 1분에 한 번 |
SYSDATE + 7 + 1/86400 | 1초에 한 번 |
SYSDATE + 1/24/6 | 10분에 한 번 |
잡 스케줄러 내 프로시저 구성
1. DB에 추가된 job을 삭제
DBMS_JOB.REMOVE(job number);
2. DB에 저장되어 있는 job의 field들을 변경
DBMS_JOB.JOB_CHANGE(job number, what, next_data, interval);
3. job이 수행하는 작업을 변경
DBMS_JOB.WHAT(job number, what);
4. job이 Tibero에 의해 자동으로 실행될 때를 변경
DBMS_JOB.NEXT_DATE(job number, next_data);
5. job 실행주기 파라미터를 변경
DBMS_JOB.JOB_INTERVAL(job number, interval);
6. DB에 저장되어 있는 jobd의 상태를 정상 or Broken 상태로 설정
DBMS_JOB.JOB_BROKEN(job number, broken, next_data);
7. job을 현재 seesion에서 즉시 수행
DBMS_JOB.JOB_RUN(job number);
잡 스케줄러 실행
1. 프로시저 생성하기
ORACLE 프로시저 생성 및 커서 사용 방법
PL/SQL 정의 오라클에서 프로시저 작성을 위해 사용하는 문법 다른 데이터베이스에서 사용 불가능 프로시저 정의 자주 사용하는 구문을 하나의 이름으로 사용 함수는 반드시 리턴을 해야하지만
sookr5416.tistory.com
2. 잡 스케줄러 생성하기
DECLARE
X NUMBER;
BEGIN
SYS.DBMS_JOB.SUBMIT(
job => X
, what => 'TEST;' -- TEST 라는 이름의 프로시저
, next_date => to_date('04-02-2021 20:29:24', 'dd/mm/yyyy hh24:mi:ss')
, interval => 'SYSDATE +1/24/6' -- 10분마다 실행
, no_parse => FALSE
);
SYS.dbms_output.put_line('Job Number is : ' ||to_char(x));
commit;
END;
/
3. 잡 스케줄러 실행하기
4. 잡 스케줄러 실행 확인하기
SELECT * FROM USER_JOBS;
- LAST_DATA, LAST_SEC : 잡 스케줄러가 실행된 시간 확인
- NEXT_DATA, NEXT_SEC : 잡 스케줄러가 다음에 실행된 시간 확인
- WHAT : 어떤 잡 스케줄러가 실행되는지 확인
반응형
'개발 & 데이터베이스 > DB' 카테고리의 다른 글
오라클 DML 기본문법 (INSERT, UPDATE, DELETE, SELECT) (0) | 2022.02.03 |
---|---|
오라클 자료형 변환 함수 TO_CHAR, TO_DATE와 DECODE함수, CASE문 (0) | 2022.01.29 |
ORACLE 프로시저 생성 및 커서 사용 방법 (0) | 2022.01.26 |
오라클 LIKE 함수, REGEXP_LIKE 함수 (다중 LIKE) (0) | 2022.01.17 |
오라클 그룹화 함수 (GROUP BY, HAVING) (0) | 2022.01.16 |