외부 프로그램 수행
DBMS_SCHEDULER 패키지는 오라클 내의 익명 블록이나 프로시저 외에도 DB 외부, 즉 OS상의 실행파일도 실행할 수 있다고 했다. 이번에는 외부 프로그램을 주기적으로 수행하는 잡을 만들어 보자.
먼저 수행할 외부 프로그램을 준비해야 하는데 외부 프로그램이란 쉽게 말해서 자체 실행 가능한 파일로, 확장자가 EXE나 BAT인 파일이 이에 해당된다. 이러한 실행 파일은 OS상에서 수행되므로 DB 상에서 이 파일이 실행됐는지 확인하기 어렵다는 단점이 있다. 따라서 여기에서는 ch15_job_test 테이블에 데이터를 INSERT 하는 구문이 담긴 파일(확장자가 SQL)을 먼저 만들고, 이 파일을 SQL*PLUS 상에서 실행하도록 하는 배치파일(확장자가 BAT)을 만들 것이다. 그리고 나서 마지막으로 이 배치파일을 주기적으로 호출하는 잡을 만들 것이다.
그럼 SQL 파일부터 만들어 보자. 메모장을 열고 아래의 내용을 등록한 후 insert_test.sql 이라는 이름으로 저장한다.
입력
-- 데이터 입력
INSERT INTO ch15_job_test VALUES ( 1, SYSDATE);
COMMIT;
-- SQL*PLUS를 빠져 나오는 명령어
EXIT;