Pular para o conteúdo
Visualizando 12 posts - 1 até 12 (de 12 do total)
  • Autor
    Posts
  • #80261
    souza
    Participante

      Pessoal como sou novato não sei para que serve exatamente e como faço para exeutar o “EXPLAIN PLAN”, mas pelo que entendi é o plano de execução , ou seja quando vc faz um insert numa tabela por exemplo o explain plan te mostra que caminho o “banco percorreu” para fazer isso.

      Seria + ou – isso ?

      #80264
      Marcio68Almeida
      Participante

        É bem por ai mesmo, ele vai te mostrar quanto “custa” a consulta que você está fazendo, há várias informações relevantes, custo, cardinalidade, I/O, etc…
        Coloque esta linha no SQLPlus antes da consulta propriamente dita :
        set autot trace explain stat

        Veja o que resulta…

        #80265
        souza
        Participante

          Então digito :

          set autot trace explain stat

          e logo após rodo minha consulta (por exemplo) e vai me retornar o “custo” disso para o banco ?

          #80266
          Marcio68Almeida
          Participante

            Sim, faça isso para uma consulta qualquer do seu sistema e veja os resultados…
            Mostra inclusive se há alguma consulta sem índice…

            #80268
            souza
            Participante

              Plano de Execução

              0 SELECT STATEMENT Optimizer=CHOOSE (Cost=3 Card=28 Bytes=448)
              1 0 TABLE ACCESS (FULL) OF ‘UF’ (Cost=3 Card=28 Bytes=448)

              Estatística

                  377  recursive calls
                    0  db block gets
                  119  consistent gets
                   24  physical reads
                    0  redo size
                 1176  bytes sent via SQL*Net to client
                  502  bytes received via SQL*Net from client
                    3  SQL*Net roundtrips to/from client
                    6  sorts (memory)
                    0  sorts (disk)
                   28  rows processed
              

              Trouxe esses resultados.

              Como posso detectar se há problemas e o que pode ser melhorado com os resultados !?

              Outro dúvida, se eu quiser conceder privilégios para algum usuário comum fazer isso , qual grant devo conceder a ele ?

              Obrigado

              #80269
              Marcio68Almeida
              Participante

                Bom, creio que todos os usuário tem permissão de executar essa funcionalidade…
                Sem muito esforço você vai encontrar alguns pontos cruciais na sua consulta…
                1. Acesso full à tabela.
                2. Muitas chamadas recursivas.
                3. dependendo do tamanho da consulta, muitas leituas físicas…

                #80270
                souza
                Participante

                  Consegui rodar apenas como system

                  #80271
                  DanielB
                  Participante

                    se debe crear y asignar el role plustrace

                    #80278
                    souza
                    Participante

                      Apenas criar uma role “plustrace” , não preciso dar grants para ela ?

                      #80284
                      DanielB
                      Participante

                        existe un script de la instalacion de la base de datos que lo crea
                        no recuerdo lleve algun permiso especial

                        #80289
                        souza
                        Participante

                          Consegui rodando o seguinte scripts

                          $ORACLE_HOME/sqlplus/admin/plustrace.sql que contém basicamente o conteúdo abaixo.

                          drop role plustrace;
                          create role plustrace;

                          grant select on v_$sesstat to plustrace;
                          grant select on v_$statname to plustrace;
                          grant select on v_$mystat to plustrace;
                          grant plustrace to dba with admin option;

                          Obrigado pelo mão pessoal

                          #80474
                          rodasp
                          Participante

                            Vc pode usar o aplicativo de gerencia da ORACLE “Top Sessions” que nele vc pode visualizar o palno de execução perfeitamente.

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