엔터프라이즈 수준 애플리케이션에서는 필요한 기능을 달성하기 위해 사용자가 수동 작업을 수행하는 것에 의존할 수 없습니다. 따라서 예약된 작업은 필수적이며, 이는 백그라운드 처리 및 데이터 로딩을 수행하는 데 특히 유용합니다. Oracle 데이터베이스는 개발자와 관리자의 작업을 단순화하기 위해 저장 프로시저와 예약된 작업을 제공합니다. 이 기사에서는 Oracle 예약 작업을 사용하여 저장 프로시저를 정기적으로 실행하는 방법에 중점을 둘 것입니다.
Oracle 예약 작업
Oracle 데이터베이스의 예약 작업은 DBMS_SCHEDULER 패키지를 사용하여 생성할 수 있습니다. 이 패키지를 사용하면 복잡한 일정 요구 사항이 있는 작업을 만들 수 있습니다. 매시간, 매일, 매주, 매월, 매년 등 다양한 빈도를 지원할 수 있습니다. 예약된 작업은 특정 날짜와 시간에 실행될 수도 있고 다른 시간대에서도 실행될 수도 있습니다. DBMS_SCHEDULER 패키지를 사용하여 다음 유형의 객체를 생성할 수 있습니다.
이 기사에서는 DBMS_SCHEDULER를 사용하여 작업을 생성하고 이를 실행하려는 저장 프로시저에 바인딩하는 방법에 중점을 둘 것입니다.
저장 프로시저 만들기
먼저 완료하려는 작업 작업을 수행하기 위한 저장 프로시저를 만들어야 합니다. 다음은 현재 시간을 테이블에 삽입하는 저장 프로시저의 간단한 예입니다.
CREATE OR REPLACE PROCEDURE INSERT_TIME AS BEGIN INSERT INTO TIME_LOG (LOG_TIME) VALUES (SYSDATE); COMMIT; END INSERT_TIME;
Create Job
저장 프로시저가 준비되면 다음으로 작업 실행을 예약할 작업을 생성해야 합니다. 우리가 만들 작업은 매일 아침 6시에 현재 시간을 삽입합니다. 다음은 DBMS_SCHEDULER.CREATE_JOB 함수를 사용하여 이 작업을 생성하는 예입니다.
BEGIN DBMS_SCHEDULER.CREATE_JOB ( job_name => 'INSERT_TIME_JOB', job_type => 'STORED_PROCEDURE', job_action => 'INSERT_TIME', start_date => SYSTIMESTAMP, repeat_interval => 'FREQ=DAILY; BYHOUR=6;', enabled => TRUE, comments => 'Insert current time every day at 6 AM'); END;
CREATE_JOB 함수를 사용하여 작업을 생성하는 경우 다음 매개변수 설명을 따라야 합니다.
작업을 저장 프로시저에 바인딩
위의 예에서는 작업을 생성하고 해당 작업 실행을 위한 저장 프로시저를 지정했습니다. 이제 지정된 시간에 작업을 실행하도록 이 작업을 저장 프로시저에 바인딩해야 합니다. 이 작업을 수행하려면 DBMS_SCHEDULER.SET_ATTRIBUTE 함수를 사용할 수 있습니다.
BEGIN DBMS_SCHEDULER.SET_ATTRIBUTE ( name => 'INSERT_TIME_JOB', attribute => 'program_action', value => 'INSERT_TIME;'); END;
이 예에서는 SET_ATTRIBUTE 함수를 사용하여 "INSERT_TIME_JOB" 작업의 "program_action" 속성을 "INSERT_TIME"으로 설정합니다. 이는 특정 시간에 INSERT_TIME 저장 프로시저를 호출하도록 DBMS_SCHEDULER에 지시합니다.
DBMS_SCHEDULER 패키지를 사용하여 예약된 작업을 생성하고 저장 프로시저에서 작업을 바인딩하는 방법을 배웠습니다. 이제 예약된 작업이 실행될 때까지 기다렸다가 TIME_LOG 테이블의 기록을 볼 수 있습니다.
결론
오라클 데이터베이스의 예약된 작업 기능을 사용하면 백그라운드 처리 작업을 쉽게 수행하는 데 도움이 됩니다. DBMS_SCHEDULER 패키지는 반복 실행, 병렬 실행, 오류 복구 등과 같은 특정 애플리케이션 요구 사항을 충족하기 위한 다양한 옵션을 제공합니다. 또한 다양한 시간대, 날짜, 주, 월 등에 걸쳐 작업을 실행할 수 있어 예약된 작업을 매우 유연하게 수행할 수 있습니다. 이 기사에서는 Oracle의 예약된 작업을 사용하여 저장 프로시저를 정기적으로 실행하는 방법에 중점을 둡니다. 이 글이 여러분에게 유용한 지침을 제공하고 Oracle 데이터베이스 기반의 예약된 작업의 사용 및 운영 원칙을 더 잘 이해하는 데 도움이 되기를 바랍니다.
위 내용은 Oracle에서 저장 프로시저를 정기적으로 실행하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!