Este ejemplo le muestra cómo crear un trabajo en Oracle para que se ejecute cada hora usando DBMS_SCHEDULER
paquete.
1. Crear un trabajo usando DBMS_SCHEDULER.CREATE_JOB
El siguiente código PL/SQL programará un trabajo que comenzará el 20 de octubre de 2019 a la 1:00 a. m., hora de India, para ejecutarse cada hora todos los días. Puede eliminar el nombre del día del parámetro de intervalo de repetición para excluir un día en particular . El tipo de trabajo es un procedimiento almacenado y ejecutará el procedimiento especificado en el parámetro de acción del trabajo.
BEGIN DBMS_SCHEDULER.CREATE_JOB ( job_name => 'HOURLY_JOB', job_type => 'STORED_PROCEDURE', job_action => 'YOUR_SCHEMA.YOUR_PROCEDURE', start_date => '20-OCT-19 01.00.00 AM Asia/Kolkata', repeat_interval => 'FREQ=HOURLY;BYDAY=MON,TUE,WED,THU,FRI,SAT,SUN', end_date => NULL, auto_drop => FALSE, job_class => 'SYS.DEFAULT_JOB_CLASS', comments => 'run job every hour'); END; /
2. Habilitar el trabajo
BEGIN DBMS_SCHEDULER.enable('HOURLY_JOB'); END; /
Su DBMS_SCHEDULER
por hora el trabajo está creado y habilitado ahora. Puede cambiar la zona horaria de "Asia/Kolkata " a la zona horaria de cualquier país obteniendo el valor de la siguiente consulta:
SELECT DISTINCT tzname, TZ_OFFSET (tzname) FROM V$TIMEZONE_NAMES ORDER BY tzname;
Tutoriales relacionados:
- Oracle PL/SQL:DBMS_SCHEDULER.CREATE_JOB Ejecutar todos los días una vez