② 스케줄 객체
스케줄 객체는 언제 그리고 얼마나 자주 잡이 실행될 것인지를 정의한 객체로, DBMS_JOB 패키지와 비교하면 next_date와 interval 매개변수에 해당된다. 스케줄 역시 독립적 객체이므로 여러 잡 객체에서 불러다 쓸 수 있으며 두 종류의 스케줄이 있다.
• 시간 기반 스케줄: 우리가 익히 알고 있듯이 일정 시간을 주기로 실행되도록 설정 가능
• 이벤트 기반 스케줄: DBMS_SCHEDULER 패키지에서만 설정할 수 있는 옵션, 특정 이벤트가 발생했을 때 실행
시간 기반 스케줄은 DBMS_JOB 패키지에서는 “SYSDATE + 1 / 24” 형태로 복잡하게 설정했지만 DBMS_SCHEDULER 패키지에서는 매우 쉽고 다양하게 시간을 설정할 수 있다는 장점이 있다.
③ 잡 객체
잡(Job)은 실행될 프로그램과 스케줄을 정의한 객체로, 이미 만들어 놓은 프로그램 객체와 스케줄 객체를 가져다 사용할 수도 있고 단독으로 잡 객체만 사용해서도 스케줄링을 할 수 있다. 또한 여러 개의 프로그램을 연결(이를 체인이라 한다)하여 잡을 구성할 수도 있다. 이때 각 프로그램의 실행 순서는 물론 프로그램 실행 결과에 따라 분기 처리도 할 수 있다.
이 외에도 오라클 스케줄러를 구성하는 객체에는 잡 클래스, 윈도우, 체인, 파일 모니터(File Watcher) 등이 있는데, 이 장에서는 프로그램, 스케줄, 잡을 위주로 설명하겠다. 그럼 이제 오라클 스케줄러를 실제로 구현할 수 있는 DBMS_SCHEDULER의 서브 프로그램을 파헤쳐 보자.