오라클 스케줄러와 JOB 관리 방법
오라클에서는 스케줄링 작업을 관리하기 위해 자체적으로 제공하는 스케줄러와 JOB 기능을 활용할 수 있습니다. 이 기능을 통해 일정한 간격으로 작업을 실행하거나 특정 시간에 작업을 예약할 수 있습니다. 이번 글에서는 오라클 스케줄러와 JOB에 대해 알아보고, 간단한 예제를 통해 실제 사용 방법을 살펴보겠습니다.
오라클 스케줄러와 JOB 개념
스케줄러
오라클이 직접 관리하는 스케줄링 시스템으로, 주기적으로 작업을 실행하고 관리합니다.
JOB
스케줄러에 등록된 작업으로, 오라클에서 제공하는 dbms_job 패키지를 사용하여 등록하고 실행합니다.
예제: 테이블에 일정 시간 간격으로 데이터 insert
시퀀스 생성
CREATE SEQUENCE JOB_TEST_SEQ;
테이블 생성
CREATE TABLE JOB_TEST02(NO NUMBER, mod_date DATE);
작업을 수행할 프로시저 생성
CREATE OR REPLACE PROCEDURE INSERT_JOB_TEST
IS
BEGIN
INSERT INTO JOB_TEST02 VALUES(JOB_TEST_SEQ.NEXTVAL, SYSDATE);
END;
JOB 등록
DECLARE
JNO NUMBER;
BEGIN
DBMS_JOB.SUBMIT(:JNO, ‘INSERT_JOB_TEST;’, SYSDATE, ‘SYSDATE+1/24/60/60’, FALSE);
END;
COMMIT;
JOB 확인
SELECT * FROM USER_JOBS;
결과 확인
SELECT * FROM JOB_TEST02;
SELECT *
FROM JOB_TEST02 a
WHERE a.mod_date >= (TO_DATE(‘20180818145500’, ‘yyyymmddhh24miss’) – 4/86400);
JOB 삭제
EXEC DBMS_JOB.REMOVE(‘3’); — ‘3’는 USER_JOBS 테이블의 job 번호
오라클 스케줄러와 JOB 기능을 통해 운영체제의 cron job과는 다른 방식으로 작업을 관리할 수 있습니다. 스케줄러를 활용하여 일정 시간 간격으로 작업을 실행하거나 특정 시간에 작업을 예약할 수 있습니다. 이를 통해 데이터베이스 내에서 다양한 자동화 작업을 수행할 수 있으며, 오라클 스케줄러와 JOB을 활용하여 효율적인 작업 관리를가능하게 합니다.
이전 글 – 오라클 테이블 복구(테이블 데이터 복원하기)