viernes, 12 de mayo de 2023

Como crear un Scheduler JOB

Para crear un Job se usa DBMS_SCHEDULER.CREATE_JOBSe debe tener el privilegio CREATE JOB 

En estos dos ejemplos los jobs ejecutan un bloque de PLSQL

En el usuario dueño del esquema, se crea el Job, los parametros minimos son : 

1- job_name : Nombre del JOB (no puede ser el mismo nombre de otro objeto, por ejemplo del procedure que va a ejecutar porque comparte el mismo NAMESPACE)

2 - job_type : Tipo de Job, en este ejemplo es un bloque de PLSQL, en job_action especificar el nombre del job

3 - start_date : La fecha de comienzo, en este ejemplo tomamos la fecha del dia.

4 - repeat_interval : Este job se va a ejecutar todos los dias a las 23:30

5 - enabled : En este ejemplo creamos el job y ya lo dejamos habilitado.

 

BEGIN

DBMS_SCHEDULER.CREATE_JOB (

   job_name             => 'JOB_M4_PROC_EJEMPLO',

   job_type             => 'PLSQL_BLOCK',

   job_action           => 'M4_PROC_EJEMPLO',

   start_date           => TRUNC(SYSDATE),

   repeat_interval      => 'FREQ=DAILY; byhour=23; byminute=30; bysecond=0;',

   enabled              =>  TRUE);

END;

/


Otro ejemplo ejecutando un Procedure que  recibe un parámetro de tipo fecha, el parámetro a recibir debe ser el sysdate (fecha del sistema).

 El Job se debe ejecutar a las 5:00 am todos los dias.

 

BEGIN

DBMS_SCHEDULER.CREATE_JOB (

   job_name             => 'JOB_ M4_EJEMPLO2 ',

   job_type             => 'PLSQL_BLOCK',

   job_action           => ' M4_PROC_EJEMPLO2(SYSDATE)',

   start_date           => TRUNC(SYSDATE),

   repeat_interval      => 'FREQ=DAILY; byhour=05; byminute=0; bysecond=0;',

   enabled              =>  TRUE);

END;

/


No hay comentarios:

Publicar un comentario