miércoles, 26 de agosto de 2009

Problemas con Jobs en estado BROKEN=Y, como volverlos a activar

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.

Todos los Sábados a las 8:00PM

Optimismo para una vida Mejor

Optimismo para una vida Mejor
Noticias buenas que comentar