Olá pessoal,

Tenho um job na base de dados que não está executando. Executo o script de
criação o mesmo é criado e agendado sem erros, porém não executa.
Segue o script que usei ao tentar recriar o job.

Funcionava sem problemas no oracle 10.2.0.1, desde de que migrei a base de
dados para o 10.2.0.5 parou de funcionar. Não sei se tem haver. Estou
pesquisando também algo nesta linha.

A procedure esyá compilada e executa sem erros.

Alguém já passou por essa situação do job simplesmente parar de executar?
Não gera nenhum erro.

begin

    for rec in (select job  from dba_jobs where what =
'ACP.SPD_CARGA_REL_EST_PROC;') LOOP
            sys.dbms_ijob.remove (rec.job);
        end loop;
    commit;
end;
/


alter session set NLS_DATE_FORMAT='dd/mm/yyyy';

variable job NUMBER;


declare
        v_hora_atual integer;
        v_prox_hora integer;
begin

      select to_char(sysdate, 'HH24') into v_hora_atual from dual;

      if v_hora_atual > 3 and v_hora_atual < 7 then

         v_prox_hora := 7;

      elsif v_hora_atual >= 7 and v_hora_atual < 11 then

         v_prox_hora := 11;

      elsif v_hora_atual >= 11 and v_hora_atual < 15 then

            v_prox_hora := 15;

      elsif v_hora_atual >= 15 and v_hora_atual < 19 then

            v_prox_hora := 19;

      elsif v_hora_atual >= 19 and v_hora_atual < 23 then

            v_prox_hora := 23;

      else

            v_prox_hora := 3;

      end if;

      select nvl(max(job)+1,40) into :job from dba_jobs;

      sys.dbms_ijob.submit(  job => :job,
                      LUSER =>    'ACP',
                      PUSER =>    'ACP',
                      CUSER =>    'ACP',
                      what => 'ACP.SPD_CARGA_REL_EST_PROC;',
                      next_date => trunc(sysdate) + v_prox_hora/24,
                      interval => 'trunc(sysdate+1/6,''HH'')',
                      BROKEN => false,
                      NLSENV => 'NLS_LANGUAGE="AMERICAN"
NLS_TERRITORY="AMERICA" NLS_CURRENCY="$" NLS_ISO_CURRENCY="AMERICA"
NLS_NUMERIC_CHARACTERS=".," NLS_DATE_FORMAT="=dd/mm/yyyy"
NLS_DATE_LANGUAGE="AMERICAN" NLS_SORT="BINARY"',
                      ENV => hextoraw('0102000200000000'));
  commit;

end;
/

Desde já agradeço a todos.

Ana


[As partes desta mensagem que não continham texto foram removidas]

Responder a