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