Pular para o conteúdo
  • Este tópico contém 4 respostas, 5 vozes e foi atualizado pela última vez 18 anos, 1 mês atrás por gustavodesa.
Visualizando 5 posts - 1 até 5 (de 5 do total)
  • Autor
    Posts
  • #81041
    molmedo
    Participante

      Pessoal, bom dia!

      Alguém sabe me dizer se o oracle tem algum recurso (ou algum software a parte) pra que eu possa saber quais são as consultas mais solicitadas no meu servidor?

      Obrigado.

      #81051
      armandoveloso
      Participante

        Caro,

        a tabela v$sql do dicionario do oracle acho que resolve seu problema…

        A consulta abaixo mostra as ultimas consultas consultas submetidas ao BD (campo SQL_TEXT), ordenada pelo numero de execucoes (campo EXECUTIONS):

        select EXECUTIONS, SQL_TEXT, LOADS, INVALIDATIONS, PARSE_CALLS, DISK_READS, BUFFER_GETS, ROWS_PROCESSED
        from v$sql
        order by executions desc;

        set tiver no Sqlplus, de um “set long 2000” pra evitar mostrar a sql “cortada”…

        []’s

        #81188
        marcelomirandola
        Participante

          molmedo,
          utiliza o Oracle Enterprise Manager. Lá você terá TODAS as informações do seu banco de dados e seus usuários, sem precisar executar sqls. Administração, manutenção, relatórios on-line de performance, etc.

          #81194
          Marcio68Almeida
          Participante

            Esta consulta é MUITO útil, principalmente para encontrar full table scan em consultas realizadas hoje (veja a opção last_load_time)…
            Select s.address, s.last_load_time, s.first_load_time, s.cpu_time, s.elapsed_time, p.object_owner, p.object_name, p.cost, p.cardinality, p.bytes, p.io_cost, p.filter_predicates, w.active_time, w.estimated_optimal_size, w.last_memory_used, w.total_executions, w.active_time
            From v$sql_plan p,
            v$sql s,
            v$sql_workarea w
            Where p.address = s.address
            And p.address = w.address (+)
            And p.hash_value = w.hash_value (+)
            And p.id = w.operation_id (+)
            And p.options = 'FULL'
            And p.object_owner not like '%SYS%'
            And SUBSTR (last_load_time, 1, 10) = TO_CHAR (sysdate, 'yyyy-mm-dd')
            -- And (p.cardinality > 100
            -- or p.cost > 50)
            And p.filter_predicates is not null
            Order by cpu_time desc --(cost + cardinality) desc

            #81218
            gustavodesa
            Participante

              No oracle 9i você pode utilizar o performance manager que alem de consultas possui outros recursos muito interessantes e no oracle 10g o Enterprise manager afim de facilitar a sua consulta .

              Ou você pode utilizar os SQL’S abaixo que a pessoal publicou !!!

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