Inicializar parámetros relacionados job_queue_processes
alter system set job_queue_processes=39 alcance=spfile; //El valor máximo no puede exceder 1000 job_queue_interval = 10 //Programación de la frecuencia de actualización del trabajo en segundos;
job_queue_process representa la cantidad de trabajos que Oracle puede ejecutar simultáneamente, que se pueden pasar a través de la declaración
mostrar parámetro job_queue_process;
Para ver el valor de job_queue_process en Oracle. Cuando el valor de job_queue_process es 0, significa detener todos los trabajos de Oracle. Puede pasar la declaración.
ALTERAR SISTEMA SET job_queue_processes = 10;
Para ajustar el trabajo que inicia Oracle.
Vistas relacionadas:
dba_trabajos
todos_trabajos
trabajos_usuario
dba_jobs_running contiene información sobre la ejecución de trabajos
------------------------
Enviar sintaxis del trabajo:
comenzar
sys.dbms_job.submit(trabajo => :trabajo,
qué => 'P_CLEAR_PACKBAL;',
next_date => to_date('04-08-2008 05:44:09', 'dd-mm-aaaa hh24:mi:ss'),
intervalo => 'sysdate+ 1/360');
comprometerse;
fin;
/
------------------------
Crear TRABAJO
número de trabajo variable;
comenzar
dbms_job.submit(:jobno, 'P_CRED_PLAN;',SYSDATE,'SYSDATE+1/2880',TRUE);
comprometerse;
Ejecutar TRABAJO
SQL> comenzar
dbms_job.run(:trabajo1);
fin;
/
Eliminar TRABAJO
SQL> comenzar
dbms_job.remove(:trabajo1);
fin;
/
DBA_JOBS
======================================= ==
Campo (columna) Tipo Descripción
NÚMERO DE TRABAJO El número de identificación único de la tarea.
LOG_USER VARCHAR2(30) El usuario que envió la tarea
PRIV_USER VARCHAR2(30) Permisos de tarea asignados por el usuario
SCHEMA_USER VARCHAR2(30) Modo de usuario para tareas de análisis
LAST_DATE DATE La última vez que la tarea se ejecutó correctamente
LAST_SEC VARCHAR2(8) Hora, minutos y segundos de la fecha last_date en formato HH24:MM:SS
THIS_DATE DATE La hora de inicio de la tarea en ejecución, o nula si no se está ejecutando ninguna tarea.
THIS_SEC VARCHAR2(8) Hora, minutos y segundos de la fecha this_date en formato HH24:MM:SS
NEXT_DATE DATE La próxima vez que se ejecutará la tarea programada
NEXT_SEC VARCHAR2(8) Hora, minutos y segundos de la fecha next_date en formato HH24:MM:SS
TOTAL_TIME NUMBER El tiempo total necesario para que se ejecute la tarea, en segundos.
Parámetro de marca BROKEN VARCHAR2(1), Y indica que la tarea está interrumpida y no se ejecutará en el futuro.
INTERVAL VARCHAR2(200) Expresión utilizada para calcular el siguiente tiempo de ejecución
NÚMERO DE ERRORES El número de veces que la tarea se ha ejecutado sin éxito.
QUÉ bloque VARCHAR2(2000) PL/SQL que ejecuta la tarea
CURRENT_SESSION_LABEL RAW MLSLABEL La clave de sesión confiable de Oracle para esta tarea
CLEARANCE_HI RAW MLSLABEL La brecha máxima de Oracle en la que la tarea puede confiar
CLEARANCE_LO RAW MLSLABEL La brecha mínima de Oracle en la que la tarea puede confiar
NLS_ENV VARCHAR2(2000) Configuración de sesión NLS para la ejecución de tareas
MISC_ENV RAW(32) Algunos otros parámetros de sesión para la ejecución de tareas
-------------------------
Descripción Valor del parámetro INTERVALO
'TRUNC(SYSDATE + 1)' todos los días a las 12 de la noche
Todas las mañanas a las 8:30 'TRUNC(SYSDATE + 1) + (8*60+30)/(24*60)'
Todos los martes a las 12 del mediodía 'NEXT_DAY(TRUNC(SYSDATE), ''TUESDAY'') + 24/12'
'TRUNC(LAST_DAY(SYSDATE ) + 1)' a las 12 de la noche del primer día de cada mes
11 p. m. del último día de cada trimestre 'TRUNC(ADD_MONTHS(SYSDATE + 2/24, 3), 'Q') -1/24'
Todos los sábados y domingos a las 6:10 am 'TRUNC(LEAST(NEXT_DAY(SYSDATE, ''SATURDAY"), NEXT_DAY(SYSDATE, "SUNDAY"))) + (6×60+10)/(24×60)'
-------------------------
1: ejecutar cada minuto
Intervalo => TRUNC(sysdate,'mi') + 1/ (24*60)
2: Ejecutar regularmente todos los días
Por ejemplo: ejecutado a la 1 am todos los días.
Intervalo => TRUNC(fecha del sistema) + 1 +1/ (24)
3: ejecución programada cada semana
Por ejemplo: ejecutado todos los lunes a la 1 am
Intervalo => TRUNC(siguiente_día(sysdate,'lunes'))+1/24
4: Ejecución regular todos los meses
Por ejemplo: Ejecutar a la 1 am del día 1 de cada mes
Intervalo =>TRUNC(ÚLTIMO_DÍA(SYSDATE))+1+1/24
5: Ejecución regular cada trimestre
Por ejemplo, se ejecuta a la 1 a. m. del primer día de cada trimestre.
Intervalo => TRUNC(ADD_MONTHS(SYSDATE,3),'Q') + 1/24
6: Ejecución regular cada seis meses
Por ejemplo: cada 1 de julio y 1 de enero a la 1 a.m.
Intervalo => ADD_MONTHS(trunc(sysdate,'yyyy'),6)+1/24
7: Ejecutado regularmente cada año
Por ejemplo: Se ejecuta a la 1 a.m. del 1 de enero de cada año.
Intervalo =>ADD_MONTHS(trunc(sysdate,'yyyy'),12)+1/24
Este artículo proviene del blog de CSDN. Indique la fuente al reimprimir: http://blog.csdn.net/mzwang123/archive/2009/12/22/5053476.aspx.
-