Pular para o conteúdo
  • Este tópico contém 10 respostas, 4 vozes e foi atualizado pela última vez 17 anos, 4 meses atrás por Rodrigo Almeida.
Visualizando 11 posts - 1 até 11 (de 11 do total)
  • Autor
    Posts
  • #83401
    hermesmc
    Participante

      Senhores,

      Estou administrando um banco de dados ORACLE 10g que roda em um servidor windows 2003 enterprise edition. Estou notando uma queda sensível de performance no decorrer do dia. Notando isso, atualizo suas estatísticas(exec dbms_stats.gather_schema_stats(‘XXX’)) e a performance volta ao normal. Porém, tenho de fazer isso várias vezes durante o dia. O que poderia estar causando essa queda de peformance?

      Grato

      #83403
      Ricardo Portilho Proni
      Participante

        Rode este SELECT várias vezes, seguidamente, no horário em que a performance esteja ruim.
        Coloque aqui o resultado.

        SELECT W.SID, W.EVENT, W.SECONDS_IN_WAIT FROM V$SESSION_WAIT W WHERE W.EVENT NOT LIKE ‘SQL*Net%’ AND W.EVENT NOT IN (‘pmon timer’, ‘smon timer’, ‘rdbms ipc message’, ‘wakeup time manager’) ORDER BY W.SECONDS_IN_WAIT, W.SID;

        #83407
        hermesmc
        Participante

          Ok, assim que notar a lentidão vou rodar o select e postar os resultados. Desde já agradeço.

          #83434
          hermesmc
          Participante

            Tentei formatar mas não ficou melhor que isso.

            SID EVENT SECONDS_IN_WAIT


            117 control file sequential read 0
            139 Streams AQ: waiting for messages in the queue 5
            135 wait for unread message on broadcast channel 11
            134 jobq slave wait 45

            4 rows selected

            SID EVENT SECONDS_IN_WAIT


            139 Streams AQ: waiting for messages in the queue 0
            135 wait for unread message on broadcast channel 12
            134 jobq slave wait 46

            3 rows selected

            SID EVENT SECONDS_IN_WAIT


            139 Streams AQ: waiting for messages in the queue 3
            135 wait for unread message on broadcast channel 15
            134 jobq slave wait 49

            3 rows selected

            SID EVENT SECONDS_IN_WAIT


            139 Streams AQ: waiting for messages in the queue 3
            135 wait for unread message on broadcast channel 15
            134 jobq slave wait 49

            3 rows selected

            SID EVENT SECONDS_IN_WAIT


            139 Streams AQ: waiting for messages in the queue 3
            135 wait for unread message on broadcast channel 15
            134 jobq slave wait 25

            3 rows selected

            SID EVENT SECONDS_IN_WAIT


            139 Streams AQ: waiting for messages in the queue 0
            135 wait for unread message on broadcast channel 15
            134 jobq slave wait 25

            3 rows selected

            SID EVENT SECONDS_IN_WAIT


            139 Streams AQ: waiting for messages in the queue 3
            135 wait for unread message on broadcast channel 18
            134 jobq slave wait 28

            3 rows selected

            #83440
            Ricardo Portilho Proni
            Participante

              Pode ignorar estes Eventos, são eventos ociosos.
              No momento destes SELECTS as sessões não estavam com lentidão, não estavam esperando por nada.
              Veja se aparece mais algum evento, fora estes.

              #83446
              Rodrigo Almeida
              Participante

                Tire um relatório de AWR para coletar mais informações nas questões de performance, e poderá utilizar DBMS_STATS.GATHER_SYSTEM_STATS no momento das lentidões para atualizar as estatísticas de hardware.

                Levando em consideração que está utilizando o 10g.

                Abraços,

                #83449
                Ricardo Portilho Proni
                Participante

                  Sabe tirar o AWR do período com problema?
                  Dá pra ser pelo EM.

                  #83452
                  Rodrigo Almeida
                  Participante

                    Se tiver dúvidas para tirar o AWR manualmente, faça o seguinte:

                    Execute o script que está no RDBMS/ADMIN, exemplo:

                    SQL>@$ORACLE_HOME/rdbms/admin/awrrpt.sql

                    .. Depois entre com os dados para o nome do relatório e os intervalos do SNAPSHOTS, veja as datas que ocorreram os problemas e entre os valores do SNAPSHOTS.

                    Por padrão no AWR, é gerado um SNAPSHOT a cada 1 hora.

                    Se achar muito complicado, faça igual ao Ricardo mencionou, tire usando o DBControl (EM) que é um meio mais fácil.

                    Abraços,

                    #83576
                    Anônimo

                      [quote=”hermesmc”:3kutibc7]Senhores,

                      Estou administrando um banco de dados ORACLE 10g que roda em um servidor windows 2003 enterprise edition. Estou notando uma queda sensível de performance no decorrer do dia. Notando isso, atualizo suas estatísticas(exec dbms_stats.gather_schema_stats(‘XXX’)) e a performance volta ao normal. Porém, tenho de fazer isso várias vezes durante o dia. O que poderia estar causando essa queda de peformance?

                      Grato[/quote]

                      roda esse script que sau performace vai melhorar estava com o mesmo problema e meu professor me passou

                      SPOOL ANALISE
                      SELECT ‘ANALYZE TABLE ‘||TABLE_NAME||’ ESTIMATE STATISTICS;’
                      FROM USER_TABLES;
                      SPOOL OFF
                      @ANALISE.LST

                      SPOOL ANALISE2
                      SELECT ‘ANALYZE INDEX ‘||INDEX_NAME||’ ESTIMATE STATISTICS;’
                      FROM USER_INDEXES;

                      SPOOL OFF
                      @ANALISE2.LST

                      #83581
                      Ricardo Portilho Proni
                      Participante

                        Se é 10g, as estatísticas já são atualizadas por um job do sistema as 22:00, todos os dias.

                        #83624
                        Rodrigo Almeida
                        Participante

                          E também não utilize o comando ANALYZE TABLE | INDEX, pois causa problemas ao CBO do Oracle 10g ao cálcular as estatísticas, use sempre o DBMS_STATS.

                          Abraços,

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