Saltar al contenido

Crear Job en Oracle

automaticwindingdsc00037

Un job es lo equivalente a una tarea programada en Windows (es el porque de la imagen de arriba…), donde nosotros programamos cada cuando tiempo se debe
hacer por ejemplo una desfragmentaicon del disco, o incluso podemos especificar que dias y a que hora realizarlo,
tambien es similar a la ejecucion automatica de los backup de la base de datos.

A continuacion el query para crear un job en oracle.

What = El nombre del procedimiento almacenado a ejecutar.
nex_date = la fecha y hora en el cual se debe ejecutar el job por primera vez.
intervalo = si pueden observar en el query, el intervalo es la fecha de la ejecucion mas 7 dias.

   1: DECLARE
   2:   X NUMBER;
   3: BEGIN
   4:   SYS.DBMS_JOB.SUBMIT
   5:     (
   6:       job        => X
   7:      ,what       => 'ESQUEMA.PROCEDIMIENTO_PROBANDO_CODIGO;'
   8:      ,next_date  => to_date('11/19/2008 08:49:08','mm/dd/yyyy hh24:mi:ss')
   9:      ,interval   => 'TRUNC(SYSDATE+7)'
  10:      ,no_parse   => FALSE
  11:     );
  12: :JobNumber := to_char(X);
  13: END;
Si el intervalo es cada 30 minutos seria 
   1: interval    => SYSDATE+30/1440

Si el intervalo es cada domingo seria
   1: interval    => NEXT_DAY(TRUNC(SYSDATE), 'SUNDAY')

Si el intervalo es el primero de cada mes seria
   1: interval    => TRUNC(LAST_DAY(SYSDATE)) + 1

Si te ha interesado este artículo y deseas un apoyo o asesoría en algún requerimiento, envíame un mensaje a: (info@juliopari.com) o sino a través de Linkedin: https://www.linkedin.com/in/juliopari/

Etiquetas: