더북(TheBook)

설정 값 유형이 많아 이들을 조합해 사용할 수 있는 경우의 수도 많고, 이로 인해 다양한 시간과 주기로 설정이 가능한 것이다. 기존 DBMS_JOB 패키지에서 사용했던 “SYSDATE + 1/60/24” 형태를 ‘PL/SQL 표현식’, 위와 같은 형태를 ‘달력 표현식’ 형태라고 한다. 후자가 훨씬 더 알아보기도 쉽고 설정하기 쉽다는 점은 두말할 필요가 없을 것이다. 이제 실제로 스케줄 객체를 만들어 보자.

입력

    BEGIN
      DBMS_SCHEDULER.CREATE_SCHEDULE (
      schedule_name => 'my_schedule1',
      start_date => NULL,
      repeat_interval => 'FREQ=MINUTELY; INTERVAL=1',  --1분에 1번
      end_date => NULL,
      comments => '1분마다 수행');
    END;

결과

    익명 블록이 완료되었습니다.

성공적으로 생성되었다. 시작일자와 종료일자를 명시하지 않았으므로 이 스케줄 객체는 사용하는 즉시 1분마다 계속 처리될 것이다. 스케줄 객체 정보는 USER_SCHEDULER_SCHEDULES 시스템 뷰를 참조하면 알아낼 수 있다.

입력

    SELECT schedule_name, schedule_type, start_date, repeat_interval, end_date, comments
      FROM USER_SCHEDULER_SCHEDULES;

결과

USER_SCHEDULER_SCHEDULES 뷰를 조회해 보면 설정한 값대로 적용됐음을 알 수 있다. SCHEDULE_TYPE 컬럼 값이 ‘CALENDAR’인데 이는 repeat_interval 값을 달력 표현식을 사용해서 설정한 것이다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.