Este tutorial fue analizado por nuestros expertos así se asegura la exactitud de esta crónica.
Solución:
Si desea evitar que se ejecuten todos los trabajos, puede cambiar el parámetro de inicialización JOB_QUEUE_PROCESSES
. Si establece eso en 0, Oracle no ejecutará ningún trabajo programado usando DBMS_JOB
.
También puede marcar los trabajos rotos
BEGIN
FOR x IN (SELECT * FROM user_jobs)
LOOP
dbms_job.broken( x.job, true );
END LOOP;
END;
lo que hará que no se ejecuten (pero permitirá que cualquier trabajo creado después de ese punto se ejecute normalmente). Para deshacer los trabajos
BEGIN
FOR x IN (SELECT * FROM user_jobs)
LOOP
dbms_job.broken( x.job, false, SYSDATE + interval '1' minute);
END LOOP;
END;
configurará todos los trabajos para que se ejecuten en 1 minuto.
== Para trabajos dbms_job:
alter system set job_queue_processes=0 scope=both;
Para algunos, el mantenimiento puede ser mejor. Es posible que normalmente desee tener algunos trabajos fuera de línea y no quiera ponerlos en línea cuando haya terminado con el mantenimiento.
== Para trabajos de dbms_scheduler:
exec dbms_scheduler.set_scheduler_attribute('SCHEDULER_DISABLED','TRUE');
y una vez finalizado el mantenimiento:
exec dbms_scheduler.set_scheduler_attribute('SCHEDULER_DISABLED','FALSE');
Ejecute la siguiente consulta.
set head off
spool job_disable.sql
select 'execute dbms_scheduler.disable('||''''||owner||'.'||job_name||''''||');' from dba_scheduler_jobs where enabled='TRUE';
spool off;
@job_disable.sql
Esto deshabilitará todos los trabajos de dbms que estén habilitados.
Puede modificar la consulta para habilitar también a todos los deshabilitados.
Calificaciones y comentarios
Si estás de acuerdo, tienes la opción de dejar un ensayo acerca de qué le añadirías a este escrito.