Colección de citas famosas - Frases elegantes - Quiero crear un trabajo en Oracle 10g para ejecutar un proceso todos los días a las 9:00 am. Se supone que el nombre del proceso es pro_1001. Gracias por tu consejo.

Quiero crear un trabajo en Oracle 10g para ejecutar un proceso todos los días a las 9:00 am. Se supone que el nombre del proceso es pro_1001. Gracias por tu consejo.

Es más fácil crear otros nuevos en el menú contextual en el trabajo de desarrollador de SQL.

Presentamos varias vistas de diccionario de datos:

Dba_jobs Esta base de datos define tareas en colas de tareas.

dba_jobs_running tareas actualmente en ejecución.

Tarea User_jobs propiedad del usuario actual

Configuración de intervalo del parámetro de intervalo de tiempo

Ejecute 'System Date 1' una vez al día

Ejecutar cada hora 'fecha del sistema 1/24'

Ejecutar 'fecha del sistema 10/(24*60)' cada 10 minutos

Ejecutar 'fecha del sistema 30/( cada 30 segundos 24* 60*60)'

Una vez a la semana 'Fecha del sistema 7'

Deje de ejecutar la tarea y elimínela como vacía.

El intervalo de tiempo anterior no garantiza que la próxima ejecución de la tarea será en un momento específico. Solo puede especificar el intervalo de tiempo entre dos ejecuciones de la tarea.

Ejemplo de fecha u hora concreta

Cada noche a medianoche ' trunc(sysdate 1)'

Cada mañana a las 8:30 ' trunc(sysdate 1 ) (8 * 60 30)/(24 * 60)'

Todos los martes a las 12 del mediodía 'Al día siguiente (trunc (sysdate), "Martes" 24/12)'

12 cada medianoche del primer día del mes' trunc(last _ day(sysdate) 1)'

Antes de resumir, explique los parámetros del trabajo uno por uno:

El parámetro del trabajo es el proceso Enviar() Devuelto binario_ineger. Este valor se utiliza para identificar de forma única el trabajo;

¿Cuáles son los parámetros del bloque de código PL/SQL que se ejecutará?

El parámetro next_date indica cuándo se ejecutará el trabajo. No es necesario especificar este valor al escribir un trabajo; el valor predeterminado es "4000-1-1";

El parámetro de intervalo de tiempo para volver a ejecutar el trabajo.

El valor de Intervalo es la clave para decidir cuándo volver a ejecutar el trabajo

Adjuntos se encuentran dos ejemplos que escribí yo mismo:

-1 a. m. todos los días

p>

Declaración

x número;

Inicio

sys.DBMS_job.submit(job = gt;x,

what = gtbegin pro_job_test.pro_job_dayend;',

next_date = gtto_date(' 13-07-2011 01:00:00 ',' dd -mm-yyyy hh24:mi: ss '),

intervalo = gtTRUNC (fecha del sistema 1) 1/24 ');

SYS. DBMS_OUTPUTPUT_LINE('El número de trabajo es: ' | | to _ char(x));

Enviar;

Fin;

-65438 0 días por mes .

Declaración

x número;

Inicio

sys.DBMS_job.submit(job = gt;x,

what = gtbegin pro_job_test.pro_job_month;end;',

next_date = gtto_date(' 01-08-2011 01:00:00 ' , 'dd-mm-aaaa hh24:mi:ss') ,

intervalo = gttrunc(last_day(sysdate) 1)');

SYS. DBMS_OUTPUTPUT_LINE('El número de trabajo es: ' | | a _ char(x));

Enviar;

Fin;