En ocasiones, tenemos un conjunto de jobs a nivel de la base de datos, que se encargan de realizar diversas tareas programadas.
En ocasiones, puede ser que los jobs fallen y despues de 16 intentos de ejecución los jobs quedan en estado BROKEN=Y, por tanto, aunque arreglemos el problema en el procedimiento ó paquete ejecutado, es necesario reactivar el job en las colas de ejecución.
El script a continuación, nos permite observar, cuáles jobs estan en estado "BROKEN=Y" y parte del cuerpo que es llamado por el job ( Trabajo ).
clear screen
set pagesize 1000
set linesize 300
col job format 9999
col what format a60
ttitle left ' \\\\\\\\\\\\\\\Jobs REPORT///////////////' skip 2
set head off
select to_char(sysdate,'mm/dd/yyyy hh24:mi') "sysdate" from dual;
set head on
ttitle off
set term off
alter session set nls_date_format='dd-mm-rrrr hh24:mi:ss';
column database new_value dbase
select name database from v$database;
set term on
prompt '---------- &dbase Jobs ----------'
select job,next_date,failures,broken,what
from dba_jobs
where next_date <> 0 or broken='Y'
order by job asc;
Salida en SQL*plus
'---------- DESA Jobs ----------'
JOB NEXT_DATE FAILURES B WHAT
---- ------------------- ---------- - ----------------------------
301 25-08-2009 22:19:31 16 Y REP_ACT2_MOVI_IN.ACTUALIZAR_MOVI_IN;
Si queremos que vuelva a su estado normal de ejecución, podemos utilizar el paquete dbms_job con la opción RUN para hacerlo.
EXECUTE DBMS_JOB.RUN(&job);
No hay comentarios:
Publicar un comentario
Te agradezco tus comentarios. Te esperamos de vuelta.