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

      Boa tarde,

      Tenho um Oracle 10g R2 instalado no RedHat 4 64-bits com 6gb de memória, e ultimamente vem apresentando problema de lentidão detectado pelos usuários utilizando a aplicação, verifiquei que o banco está com os parâmetros de configuração devidadente ajustado, no entanto, ao monitorar o desempenho pelo sistema operacional verifiquei que o mesmo estava com o alto consumo de memória chegando até a quase esgotar a memória swap. No banco não tinha muitas sessões e estava normal. Fiz o teste de identificar um processo da instancia do banco que estava consumindo mais memórias e matá-lo pelo banco dando um kill na sessão correspondente ao processo, pelo o banco a sessão encerrou o processo em questão não foi mais localizado, porém, no sistema operacional o processo continuava alocando a mesma quantidade de memória, só encerra se eu manualmente matá-lo com o comando kill -9 1111.
      Ou seja, o Oracle não está matando o processo no sistema operacional quando eu mato a sessão… Alguém já viu essa situação? poderia me ajudar?

      #104928
      Ricardo Portilho Proni
      Participante

        Mande para nós para começarmos:

        $ free
        SQL> SHOW PARAMETER SGA
        SQL> SHOW PARAMETER PGA
        SQL> SHOW PARAMETER CACHE
        SQL> SHOW PARAMETER SHARED

        #104937
        Fábio Prado
        Participante

          @Hitotuzi,

          O Portilho já se encarregou primeiro de pedir algumas informações para te ajudar a identificar os problemas de falta de memória na sua máquina, porém gostaria de deixar 2 recomendações. Se vc realmente tem problemas de falta de memória e seu Bd está realizando swap, não adianta ficar matando sessões toda hora para aliviar o problema. Fazendo isso vc correrá o risco de perder dados importantes para as aplicações que estão sendo executadas! Talvez seu Bd esteja fazendo swap e nem precise disso, por isso o Portilho te pediu algumas informações. 
          
          Outra coisa, quando vc executa "kill -9" o Oracle marca a sessão como "KILLED" mas demora um tempo para eliminá-las no BD e no SO. Já tive que fazer isso algumas vezes. Dependendo do tamanho da transação que estava sendo executada e da sobrecarga do BD, esse tempo pode ser curto ou longo! 
          

          []s

          Fábio Prado
          http://www.fabioprado.net

          #105007
          Hitotuzi
          Participante

            free:

                     total       used       free     shared    buffers     cached
            

            Mem: 6105660 6040460 65200 0 30576 5518684
            -/+ buffers/cache: 491200 5614460
            Swap: 4031600 30492 4001108


            SQL> SHOW PARAMETER SGA

            NAME TYPE VALUE


            lock_sga boolean FALSE
            pre_page_sga boolean FALSE
            sga_max_size big integer 1152M
            sga_target big integer 1152M

            SQL> SHOW PARAMETER PGA

            NAME TYPE VALUE


            pga_aggregate_target big integer 384M

            SQL> SHOW PARAMETER CACHE

            NAME TYPE VALUE


            db_cache_advice string ON
            db_cache_size big integer 0
            db_keep_cache_size big integer 0
            db_recycle_cache_size big integer 0
            db_16k_cache_size big integer 0
            db_2k_cache_size big integer 0
            db_32k_cache_size big integer 0
            db_4k_cache_size big integer 0
            db_8k_cache_size big integer 0
            object_cache_max_size_percent integer 10
            object_cache_optimal_size integer 102400
            session_cached_cursors integer 20

            SQL> SHOW PARAMETER SHARED

            NAME TYPE VALUE


            hi_shared_memory_address integer 0
            max_shared_servers integer
            shared_memory_address integer 0
            shared_pool_reserved_size big integer 34393292
            shared_pool_size big integer 0
            shared_servers integer 1
            shared_server_sessions integer

            #105008
            Ricardo Portilho Proni
            Participante

              Agora este servidor não está utilizando swap, e os parâmetros de memória estão até conservadores.
              Pode acontecer de um processo de usuário utilizar tanta PGA que passe do pga_aggregate_target e acabe com a memória da máquina até que ela fique inutilizável.

              Exemplo: http://nervinformatica.com.br/blog/2010 … -o-oracle/

              O problema não aconteceu mais?
              se acontece, você sabe tirar um AWR do momentod a lentidão?

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