Erro ORA-12011, Problema ao executar JOB

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Responder
rafael_ita
Rank: Estagiário Júnior
Rank: Estagiário Júnior
Mensagens: 1
Registrado em: Seg, 08 Nov 2010 8:56 am
Localização: Itajubá-MG

Pessoal, já andei pesquisando e segui das dicas de outro tópico a respeito dos erros citados em seguida, porém não resolveu meu problema que persiste. A idéia é ter uma job que faz a manutenção do sistema, todo dia as 23 horas. Criei a job com um código que vi aqui no fórum e uma stored procedure que criei com sql que utilizava na manutenção.
O código da procedure é este, rodei ela manualmente e está funcionando.

Selecionar tudo

create or replace
procedure manutencao_projetos
is
begin
  delete from reator_ensaios where reator in (select reator from projeto where ((trunc(sysdate)-trunc(dt_ultima_visual) > (select tempo_max_armz_proj from parametros_sistema))));
  delete from ciclo_sobrecarga where id_ciclo in (select ciclo_um from reator where id_reator in (select reator from projeto where ((trunc(sysdate)-trunc(dt_ultima_visual) > (select tempo_max_armz_proj from parametros_sistema)))));
  delete from ciclo_sobrecarga where id_ciclo in (select ciclo_dois from reator where id_reator in (select reator from projeto where ((trunc(sysdate)-trunc(dt_ultima_visual) > (select tempo_max_armz_proj from parametros_sistema)))));
  delete from tecnologia_fed where id_tecnologia_fed in (select tecnologia from reator where id_reator in (select reator from projeto where ((trunc(sysdate)-trunc(dt_ultima_visual) > (select tempo_max_armz_proj from parametros_sistema)))));
  delete from tecnologia_osd where id_tecnologia_osd  in (select tecnologia from reator where id_reator in (select reator from projeto where ((trunc(sysdate)-trunc(dt_ultima_visual) > (select tempo_max_armz_proj from parametros_sistema)))));
  delete from tecnologia where id_tecnologia  in (select tecnologia from reator where id_reator in (select reator from projeto where ((trunc(sysdate)-trunc(dt_ultima_visual) > (select tempo_max_armz_proj from parametros_sistema)))));
  delete from corrente_harmonica where reator is null;
  delete from tap where osd is null;
  delete from sobrecarga where ciclo_sobrecarga is null;
  commit;
  EXCEPTION
  WHEN OTHERS THEN
        raise_application_error(-20001,'Ocorreu um erro - '||SQLCODE||' -ERRO- '||SQLERRM);
        rollback;
END;
A sql da job é esta:

Selecionar tudo

declare
jobno number;
begin
  sys.dbms_job.submit(jobno,
                      what => 'begin manutencao_projetos; end;',
                      next_date => to_date('08-11-2010 20:41:52', 'dd-mm-yyyy hh24:mi:ss'),
                      interval => 'TRUNC(sysdate+1) + 23/24');
  commit;
end; 
Toda vez que tento executar a JOB, me retorna o seguinte erro:
ORA-12011, ORA-06512 (SYS.DBMS_IJOB, line 406 e SYS.DBMS_JOB, line 272), *Cause: An error was caught in dbms_ijob.run from one or more jobs which were due to be run.

Bom, o que poderia ser? Aguardo e agradeço a ajuda!
paulochagas
Moderador
Moderador
Mensagens: 86
Registrado em: Qua, 15 Mar 2006 2:46 pm
Localização: São Paulo - SP
Paulo Chagas Filho
__________________

Analista Funcional / Desenvolvedor Oracle EBS
MSN - paulochagas@hotmail.com
Gtalk - pachafi@gmail.com
Skype - paulochagas

Só por curiosidade

A tua procedure roda sem problemas executada manualmente?
SergioLBJr
Rank: Oracle Guru
Rank: Oracle Guru
Mensagens: 448
Registrado em: Ter, 16 Jun 2009 3:07 pm
Localização: Parobé - RS
Sérgio Luiz Bonemberger Junior
Programador Junior
Parobé RS

[]s

Cara duas coisas.

primeiro tenta tirar o begin e end do what ali, coloca só a nome da procedure com o ;.

se isso não resolver tenta passar o numero do job pra sua variavel jobno.

se não for nada disso dae realmente não sei o que pode estar acontecendo :cry:
alexandervinson
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 29
Registrado em: Qua, 17 Nov 2010 8:29 am
Localização: Belem - Para

Cara,
Usas o 10g?
Caso positivo tenta controlar teus jobs usando os scheduled jobs

http://www.oradev.com/dbms_scheduler.jsp
É muito mais facil de ver os errros.
Dá para ver na view dba_scheduler_job_run_details.
Da maneira que tu criaste o jobe tens que olhar no log alert do banco.
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante