Pular para o conteúdo
  • Este tópico contém 1 resposta, 2 vozes e foi atualizado pela última vez 1 ano, 9 meses atrás por Avatar photoJosé Laurindo Chiappa.
Visualizando 2 posts - 1 até 2 (de 2 do total)
  • Autor
    Posts
  • #164640
    maperes
    Participante

      Boa tarde, Senhores

      Estou com um problema, onde preciso, gerar um plano de execução, a partir da chamada de uma procedure, ou seja, “enxergar” internamente tudo o que ocorre na procedure.

      Usei a DBMS_TRACE em vários níveis, porém, não retornou o que preciso, será que estou fazendo de forma correta, ou o DBMS_TRACE, tem outra finalidade.

      Uso atualmente o Oracle 12cR2.

      #164778
      Avatar photoJosé Laurindo Chiappa
      Moderador

        Blz ? Muito provavelmente vc está usando de maneira errada, sim : a função do TRACE gerado pela DBMS_TRACE é fazer um TRACE DE SQL, ie, mostrar o que está sendo feito durante a execução DE UM SQL : não tem NADA VEZES NADA a ver com execução de PL/SQL, e procedure NECESSARIAMENTE é PL/SQL… Inclusive, vc fala que quer ‘gerar um plano de execução” para a execução da procedure, isso é ABSURDO : quem tem plano de execução é a LINGUAGEM SQL, e não o PL/SQL…. Para vc saber exatamente o que um PL/SQL está fazendo vc PODE usar o PL/SQL profiler, vide https://oraclehome.com.br/2011/12/19/implementando-e-utilizando-o-plsql-profiler/, mas com certeza caberia aí também um bom DEBUGADOR DE PL/SQL, em https://www.profissionaloracle.com.br/2020/11/07/tecnicas-avancadas-de-debug-no-oracle-sql-developer-breakpoints-data-smart-data-watches-e-code-reduction/ e nos links do artyigo eu falo um pouco sobre isso…. E, é claro, técnicas simplórias como colocar logs de execução via UTL_FILE e/ou DBMS_OUTPUT podem ser também MUITO úteis…

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