엔터프라이즈 수준 애플리케이션에서는 필요한 기능을 달성하기 위해 사용자가 수동 작업을 수행하는 것에 의존할 수 없습니다. 따라서 예약된 작업은 필수적이며, 이는 백그라운드 처리 및 데이터 로딩을 수행하는 데 특히 유용합니다. Oracle 데이터베이스는 개발자와 관리자의 작업을 단순화하기 위해 저장 프로시저와 예약된 작업을 제공합니다. 이 기사에서는 Oracle 예약 작업을 사용하여 저장 프로시저를 정기적으로 실행하는 방법에 중점을 둘 것입니다.
Oracle 예약 작업
Oracle 데이터베이스의 예약 작업은 DBMS_SCHEDULER 패키지를 사용하여 생성할 수 있습니다. 이 패키지를 사용하면 복잡한 일정 요구 사항이 있는 작업을 만들 수 있습니다. 매시간, 매일, 매주, 매월, 매년 등 다양한 빈도를 지원할 수 있습니다. 예약된 작업은 특정 날짜와 시간에 실행될 수도 있고 다른 시간대에서도 실행될 수도 있습니다. DBMS_SCHEDULER 패키지를 사용하여 다음 유형의 객체를 생성할 수 있습니다.
- Job: DBMS_SCHEDULER.CREATE_JOB 함수 실행 시 생성되는 작업 단위로 스케줄러에 의해 정기적으로 또는 요청 시 스케줄링됩니다.
- 직업 클래스: 동일한 자원 소비 제한 규칙을 공유하는 관련 작업 그룹입니다.
- 리소스 소비 제한: 작업 및 직업 클래스를 제어하는 데 사용되는 리소스 소비 규칙입니다.
- 체인: 한 작업이 완료되면 다른 작업이 실행되는 일련의 작업입니다.
- 세션: 작업 실행과 관련된 프로세스입니다. 작업 실행을 이해하기 위해 세션을 기록하고 모니터링할 수 있습니다.
이 기사에서는 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 함수를 사용하여 작업을 생성하는 경우 다음 매개변수 설명을 따라야 합니다.
- job_name: 작업 이름이며 고유해야 합니다.
- job_type: 작업 유형, 일반적으로 "STORED_PROCEDURE"입니다.
- job_action: 작업에 의해 실행될 저장 프로시저, 패키지 또는 실행 파일의 이름입니다.
- start_date: 작업 시작 시간으로, 날짜 또는 타임스탬프일 수 있습니다. 지정하지 않으면 기본값은 현재 시간입니다.
- repeat_interval: 작업의 실행 빈도와 시간 간격을 지정합니다. 이 예에서 "FREQ=DAILY; BYHOUR=6;"은 매일 아침 6시에 실행된다는 의미입니다. 다른 옵션에는 시간별, 주별, 월별, 연간 등이 포함됩니다. 또한 이 매개변수를 사용하여 매주 월요일, 화요일, 목요일과 같이 작업을 실행해야 하는 요일을 지정할 수도 있습니다.
- enabled: 작업이 활성화되었는지 여부를 나타냅니다.
- 댓글: 과제에 대한 간단한 설명입니다.
작업을 저장 프로시저에 바인딩
위의 예에서는 작업을 생성하고 해당 작업 실행을 위한 저장 프로시저를 지정했습니다. 이제 지정된 시간에 작업을 실행하도록 이 작업을 저장 프로시저에 바인딩해야 합니다. 이 작업을 수행하려면 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

Oracle Software는 데이터베이스 관리, ERP, CRM 및 데이터 분석 기능을 통해 비즈니스 프로세스를 단순화합니다. 1) OracleerpCloud는 재무, 인적 자원 및 기타 프로세스를 자동화합니다. 2) OracleCxCloud는 고객 상호 작용을 관리하고 개인화 된 서비스를 제공합니다. 3) OracleAnalyticsCloud는 데이터 분석 및 의사 결정을 지원합니다.

Oracle의 소프트웨어 제품군에는 데이터베이스 관리, ERP, CRM 등이 포함되어 있으며 기업이 운영을 최적화하고 효율성을 향상 시키며 비용을 줄이는 데 도움이됩니다. 1. Oracledatabase 데이터를 관리합니다. 2. OracleerpCloud는 금융, 인사 및 공급망을 처리합니다.

MySQL과 Oracle의 주요 차이점은 라이센스, 기능 및 장점입니다. 1. 라이센스 : MySQL은 무료 사용을위한 GPL 라이센스를 제공하고 Oracle은 독점 라이센스를 채택합니다. 2. 기능 : MySQL에는 간단한 기능이 있으며 웹 응용 프로그램 및 중소 기업에 적합합니다. Oracle은 강력한 기능을 가지고 있으며 대규모 데이터 및 복잡한 비즈니스에 적합합니다. 3. 장점 : MySQL은 오픈 소스 무료이며 스타트 업에 적합하며 Oracle은 성능이 신뢰할 수 있으며 대기업에 적합합니다.

MySQL과 Oracle은 성능, 비용 및 사용 시나리오에 상당한 차이가 있습니다. 1) 성능 : Oracle은 복잡한 쿼리 및 높은 동시성 환경에서 더 나은 성능을 발휘합니다. 2) 비용 : MySQL은 오픈 소스, 저비용이며 중소형 프로젝트에 적합합니다. Oracle은 대기업에 적합한 상용화되고 높은 비용입니다. 3) 사용 시나리오 : MySQL은 웹 애플리케이션 및 중소 기업에 적합하며 Oracle은 복잡한 엔터프라이즈 레벨 애플리케이션에 적합합니다. 선택할 때는 특정 요구 사항을 평가해야합니다.

Oracle Software는 다양한 방식으로 성능을 향상시킬 수 있습니다. 1) SQL 쿼리를 최적화하고 데이터 전송을 줄입니다. 2) 쿼리 속도 및 유지 보수 비용의 균형을 맞추기 위해 인덱스를 적절하게 관리합니다. 3) 메모리를 합리적으로 구성하고 SGA 및 PGA 최적화; 4) I/O 운영을 줄이고 적절한 저장 장치를 사용하십시오.

Oracle은 포괄적 인 솔루션과 강력한 기술 지원으로 인해 엔터프라이즈 소프트웨어 및 클라우드 컴퓨팅 부문에서 매우 중요합니다. 1) Oracle은 데이터베이스 관리에서 ERP에 이르기까지 광범위한 제품 라인을 제공합니다. 2) OracleCloudPlatform 및 인프라와 같은 클라우드 컴퓨팅 서비스는 디지털 변환, 3) Oracle 데이터베이스 안정성 및 성능 및 클라우드 서비스의 완벽한 통합을 향상시킵니다.

MySQL과 Oracle은 고유 한 장점과 단점이 있으며 다음을 선택할 때 다음과 같은 포괄적 인 고려 사항을 고려해야합니다. 1. MySQL은 가벼운 중량 및 사용하기 쉬운 요구에 적합하며 웹 응용 프로그램 및 중소형 기업에 적합합니다. 2. Oracle은 대기업 및 복잡한 비즈니스 시스템에 적합한 강력한 기능 및 높은 신뢰성 요구에 적합합니다.

MySQL은 소규모 및 오픈 소스 프로젝트에 GPL 및 상용 라이센스를 사용합니다. Oracle은 고성능이 필요한 기업에 상업용 라이센스를 사용합니다. MySQL의 GPL 라이센스는 무료이며 상업용 라이센스는 지불이 필요합니다. Oracle 라이센스 요금은 프로세서 또는 사용자를 기반으로 계산되며 비용은 상대적으로 높습니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전