Pular para o conteúdo
  • Este tópico contém 19 respostas, 6 vozes e foi atualizado pela última vez 10 anos, 7 meses atrás por Avatar de vanessa mortago amatovanessa mortago amato.
Visualizando 5 posts - 16 até 20 (de 20 do total)
  • Autor
    Posts
  • #84558
    Avatar de dbaferdbafer
    Participante

      Leandro também não executa desse geito.

      Obrigado.

      #84568
      Avatar photoLeonardo Litz
      Participante

        Tente executar um outro comando, um cp normal para ver se executa.

        #84574
        Avatar de dbaferdbafer
        Participante

          Leandro nenhum comando está sendo executado, mesmo sendo bem simples.
          Será que existe outra maneira sem ser por meio de java ?

          Obrigado.

          #84607
          Avatar photoLeonardo Litz
          Participante

            Cara, o que vc pode fazer é criar um crontab no seu linux que de tempos em tempo verifique uma determinada pasta, nesta pasta vc gera um arquivo por utl file com os comandos que vc quer que execute, o seu crontab deverá verificar se existe algum arquivo nesta pasta, havendo, execute-o e depois o apague. Programe seu crontab para que faca isso a cada um minuto.

            Mas via java eu utilizo aqui para mandar impressão e funcional normalmente.

            Vlw Leonardo Litz

            #106540
            Avatar de vanessa mortago amatovanessa mortago amato
            Participante

              Pessoal,

              Achei o tópico interessante e fiz uns testes aqui.

              Eu não entendo nada de java então tentei o caminho sugerido pelo Portilho na criação do job e chamada na procedure:

              1. Criei um arquivo no homeoracle com o nome de test.sh com o conteudo abaixo:
              #!/bin/ksh
              echo “Calling shell script from Oracle usign dbms scheduler `date`” >> /home/oracle/test.log

              2.Criei uma credencial para executar o job com o usuário do SO:

              BEGIN
              DBMS_SCHEDULER.create_credential(
              credential_name => ‘vanessa_credential’,
              username => ‘oracle’, — usuario do SO dono do arquivo sh
              password => ‘oracle’); — senha do usuario do SO dono do arquivo
              END;

              3. Criei o job associando a minha credencial:
              BEGIN
              DBMS_SCHEDULER.CREATE_JOB (
              job_name => ‘TEST_SHELL’,
              job_type => ‘EXECUTABLE’,
              job_action => ‘/home/oracle/teste.sh’,
              start_date => SYSDATE,
              repeat_interval => ‘FREQ=MINUTELY; INTERVAL=1’,
              enabled => TRUE,
              credential_name => ‘VANESSA_CREDENTIAL’,
              comments => ‘Calling shell script from Oracle’
              );
              END;
              /

              4.Incluir a chamada na procedure. No meu caso o job já está programado para executar de 1 em 1 minuto.
              BEGIN
              DBMS_SCHEDULER.RUN_JOB(
              ‘TEST_SHELL’
              );
              END;
              /

              O output gerado no SO:

              Calling shell script from Oracle usign dbms scheduler Mon Apr 14 18:47:45 BRT 2014
              Calling shell script from Oracle usign dbms scheduler Mon Apr 14 18:48:45 BRT 2014
              Calling shell script from Oracle usign dbms scheduler Mon Apr 14 18:49:45 BRT 2014

              Vanessa

            Visualizando 5 posts - 16 até 20 (de 20 do total)
            • Você deve fazer login para responder a este tópico.
            plugins premium WordPress