Pular para o conteúdo
  • Este tópico contém 7 respostas, 3 vozes e foi atualizado pela última vez 14 anos atrás por fabiogalera.
Visualizando 8 posts - 1 até 8 (de 8 do total)
  • Autor
    Posts
  • #101861
    devaney
    Participante

      Oi pessoal, eu gostaria de saber como ver as querys que estao sendo executadas no momento.
      Eu tentei ver na tabela V$SQLTEXT, v$sql e V$SQLAREA mas nenhuma delas traz uma query que executo da aplicaçao (framework OAF).
      Alguem pode me dar uma luz?

      Obrigado

      #101863
      rman
      Participante

        @devaney

        É possível visualizar através do Enterprise Manager. Aba desempenho, link principais atividades.

        #101868
        fabiogalera
        Participante

          devaney,

          Veja bem, pra você ver as queries que estão executando no exato momento, basta você fazer uma query para ver a v$session. Existe uma coluna que se chama SQL_HASH_VALUE e PREV_HASH_VALUE, para ver a atual query e a anterior, respectivamente.

          Sinceramente ? Algumas vezes as queries são executadas tão rapidas, que quase é impossível de se ver elas na v$session.

          As views SQLAREA, SQL, SQLSTAT são basicamente queries que estão na Shared Pool, que já foram executadas e estão na memória para ser compartilhadas, se você executou alguma query, certeza absoluta que ela estara nessas views, basta procurar correntamente, usando o like na clausula where, etc. Lembre-se, a coluna recebe valores minusculos e maisculos, ou CASE SENTISITIVE (como alguns gostam de chamar).

          Se for usar no Enterprise Manager, igual o rman disse, procure estudar como funciona essas views. Entreprise Manager é lindo e maravilhosamente rápido para achar as coisas, mas nos torna dependentes. Nem todos os clientes que você supostamente irá trabalhar usam E.M., lembre-se disso.

          Abraços.

          #101869
          devaney
          Participante

            [quote=”fabiogalera”:34heavuf]
            As views SQLAREA, SQL, SQLSTAT são basicamente queries que estão na Shared Pool, que já foram executadas e estão na memória para ser compartilhadas, se você executou alguma query, certeza absoluta que ela estara nessas views, basta procurar correntamente, usando o like na clausula where, etc. Lembre-se, a coluna recebe valores minusculos e maisculos, ou CASE SENTISITIVE (como alguns gostam de chamar).
            [/quote]
            Cara nas views SQLAREA, SQL e SQLTEXT eu nao acho uma query q estou executando através de uma aplicaçao. A aplicaçao faz o select e eu n acho nada nessas views. Oq serà q pode ser?

            #101870
            fabiogalera
            Participante

              A Oracle recomenda que você procure as queries na V$SQLSTATS. Tente procurar nela, é basicamente a mesma coisa que a V$SQL e a V$SQLAREA, porém ela retem mais tempo os cursores e também é mais rapida =)

              Me diz uma coisa, como você esta procurando a query ? Pode postar todo o processo e tal ?

              Assim fica mais fácil te ajudar, você provavelmente está errando em alguma coisa, pois sempre que se executa uma query, ela fica armazenada na Shared Pool e você pode ver os cursores nas views.

              #101871
              devaney
              Participante

                SELECT SQL_TEXT
                FROM V$SQL
                WHERE SQL_TEXT LIKE ‘%LOJA001%

                LOJA001 é o filtro que eu coloco na pagina da aplicaçao, entao a aplicaçao faz uma query com aquele filtro, e nao acho essa query.

                Obrigado por responder

                #101872
                devaney
                Participante

                  [quote=”devaney”:igxg8e22]SELECT SQL_TEXT
                  FROM V$SQL
                  WHERE SQL_TEXT LIKE ‘%LOJA001%

                  LOJA001 é o filtro que eu coloco na pagina da aplicaçao, entao a aplicaçao faz uma query com aquele filtro, e nao acho essa query.

                  Obrigado por responder[/quote]
                  Descobri porque eu nao achava, era pq a aplicaçao colocava assim:
                  SELECT *
                  FROM TBL_LOJAS
                  WHERE COD_LOJA = :1

                  Esse :1 me enganava sempre.

                  Valeu

                  #101873
                  fabiogalera
                  Participante

                    Isso eh bind variable, caso queira procurar sobre. De gracas a deus por eles usarem hehehe =)

                    Abracos.

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