Pular para o conteúdo
Visualizando 15 posts - 1 até 15 (de 20 do total)
  • Autor
    Posts
  • #93812
    rwarstat
    Participante

      Pessoal,

      Criei um job mas ele não está executando. ele foi criado sem problema, não está ‘broken’, mas a coluna failures só aumenta a cada vez que ele deveria executar.
      Onde posso verificar o quê está de errado com esse job?

      O ambiente é um 10g em windows 2003.

      Abraço,
      Roberto

      #93814
      VitorLeandro
      Participante

        Esse Job executa uma Procedure? Posta o DDL do JOB aí…

        #93815
        rwarstat
        Participante

          Segue o ddl do job.
          Ele foi criado agora, mas executa a mesma coisa e dá erro igual.

          DECLARE
          X NUMBER;
          BEGIN
          SYS.DBMS_JOB.SUBMIT
          ( job => X
          ,what => 'begin
          SX_MATRIX.P_ATUALIZA_TABS_INTEG ( 1, 2, 1 );
          SX_MATRIX.P_ENVIA_RCB_MATRIX ( 1, 2 );
          end;'
          ,next_date => to_date('29/04/2010 18:07:14','dd/mm/yyyy hh24:mi:ss')
          ,interval => 'SYSDATE+1/1440'
          ,no_parse => FALSE
          );
          SYS.DBMS_OUTPUT.PUT_LINE('Job Number is: ' || to_char(x));
          COMMIT;
          END;
          /

          Abraço,
          Roberto

          #93816
          diegolenhardt
          Participante

            Aqui funcionou, problema deve estar nas suas procedures, chamnando elas na mao funciona?


            Declare
            x Number;
            Begin
            Sys.Dbms_Job.Submit(Job => x,
            What => 'begin
            insert into x values (1);
            commit;
            end;',
            Next_Date => To_Date('29/04/2010 18:07:14',
            'dd/mm/yyyy hh24:mi:ss'),
            Interval => 'SYSDATE+1/1440',
            No_Parse => False);
            Sys.Dbms_Output.Put_Line('Job Number is: ' || To_Char(x));
            Commit;
            End;

            criei uma tabela chamada x com um campo number;

            foi inserindo blza a cada minuto…

            pode ate tentar ver o job_queue se está maior que zero,


            select * from v$parameter
            where name like '%job%'

            eu acho que é problema nas suas procedures…

            #93817
            Ishii
            Participante

              Olá,

              Se for uma versão 10g ou superior compensa migrar para Scheduler pois há mais opções de log e análise. Porém o problema pode estar na procedure, tente executar manualmente e ver se realmente está fazendo corretamente o que se é esperado. Como a procedure pode não executar o que se espera o Job não fica em Broken. Outro ponto também é verificar quantos Jobs estão rodando….

              []s Ishii

              #93819
              rwarstat
              Participante

                Bom dia,

                As procedures estão todas ok. Na mão elas executam sem problema algum.

                Comecei a migrar para o Scheduler, inclusive usando como base um post aqui do fórum onde o Ishii dá umas dicas legais. A minha opção de migração foi justamente pelo scheduler ter mais opções de log, podendo assim saber exatamente o quê aconteceu.

                Valeu pela ajuda pessoal !!!

                Abraço,
                Roberto

                #93820
                rwarstat
                Participante

                  Pessoal,

                  Migrei o meu job que não funcionava para o scheduler e ele está rodando legal agora.
                  Estou chamando as mesmas procedures, com os mesmos parâmetros do job que não funcionava e agora tá rolando legal. O código que utilizei foi o seguinte:

                  BEGIN
                  DBMS_SCHEDULER.create_job
                  (job_name => 'Integra_SX_Matrix',
                  job_type => 'PLSQL_BLOCK',
                  job_action => 'begin
                  SX_MATRIX.P_ATUALIZA_TABS_INTEG ( 1, 2, 1 );
                  SX_MATRIX.P_ENVIA_RCB_MATRIX ( 1, 2 );
                  end;',
                  start_date => SYSDATE,
                  repeat_interval => 'FREQ=MINUTELY; INTERVAL=1',
                  comments => 'Integracao SX-Matrix',
                  enabled => TRUE
                  );
                  END;
                  /

                  Muito obrigado a todos.
                  Roberto

                  #93849
                  dygaum
                  Participante

                    Mel Dels…. ques demonho vcs..!
                    Viu pergunta noob = O que e essa scheduler?

                    Que livro (Portugues voces me indicariam)? So sei SQL e to Aprendendo PL/SQL!

                    A maoria da biblioteca aqui e em ingles!!
                    Desculpa pelo teclado ingles!

                    #93850
                    diegolenhardt
                    Participante

                      Faz um curso de ingles cara, pois a propria documentação não encontra em outro idioma, até onde eu saiba…

                      Roberto olha o que eu achei:

                      dbms_scheduler is more robust and fully-featured than dbms_job and includes the following features that dbms_job does not have :

                      • logging of job runs (job history)
                      • simple but powerful scheduling syntax (similar to but more powerful than cron syntax)
                      • running of jobs outside of the database on the operating system
                      • resource management between different classes of jobs
                      • use of job arguments including passing of objects into stored procedures
                      • privilege-based security model for jobs
                      • naming of jobs and comments in jobs
                      • stored, reusable schedules

                      Features in releases after 10g Release 1 include :

                      • dependencies between job units (10gR2 and up)
                      • scheduling based on financial calendars and fiscal quarters (10gR2 and up)
                      • event based jobs which run when an event is received (10gR2 and up)
                      • running of jobs on remote machines (11gR1 and up)
                      • e-mail notifications on job events of interest (10gR2 and up)
                      • starting a job based on arrival of a file (10gR2 and up)
                      #93851
                      rwarstat
                      Participante

                        Diego,

                        Valeu por passar essa pequena lista de features do scheduler. Não me interei totalmente dele, mas só a questão de ter um log já é muito interessante.
                        Apanhei um pouco para fazer o primeiro, mas com a ajuda de um tópico aqui do fórum eu fiz e funcionou legal. Achei a sintaxe para ciração bem mais fácil do que a do job. Irei pesquisar mais, pois como estou mexendo só com bases 10g agora é uma bela ferramenta.

                        Abraço,
                        Roberto

                        #93853
                        diegolenhardt
                        Participante

                          Cara, eu faço tudo pelo Enterprise Manager quando preciso criar schedules…

                          =]

                          #93854
                          rwarstat
                          Participante

                            Eu já sou daqueles que gostam de um script. Para o aprendizado é bem melhor. E tem vezes que a interface não te dá algumas opções que o script permite.

                            #93855
                            diegolenhardt
                            Participante

                              Pela interface web depois voce pode pegar o script.. concordo com você, mas as vezes pra montar a base dele é interessante,

                              fica a idéia… =)

                              #93888
                              rwarstat
                              Participante

                                Uma dúvida que me surgiu agora e não achei nada na documentação.
                                O scheduler que fiz roda de 1 em 1 minuto. Teria como fazer ele executar todos os dias dentro de uma faixa de horário.

                                Exemplo: ele precisa executar de 1 em 1 minuto, das 6hs da manhã às 20hs, de segunda à segunda. Teria como fazer isso?

                                Abraço,
                                Roberto

                                #93889
                                VitorLeandro
                                Participante

                                  Mal lhe pergunte, pra que serve esse job?

                                Visualizando 15 posts - 1 até 15 (de 20 do total)
                                • Você deve fazer login para responder a este tópico.