Pular para o conteúdo
Visualizando 9 posts - 1 até 9 (de 9 do total)
  • Autor
    Posts
  • #83066
    braza
    Participante

      Bom dia,

      Gostaria de saber o porque do erro:

      [color=red]
      ORA-04031: unable to allocate 4096 bytes of shared memory (“shared pool”,”begin sys.dbms_output.get_…”,”PL/SQL MPCODE”,”BAMIMA: Bam Buffer”)
      [/color]

      Já incrementei a shared pool e de tempos em tempos este erro aparece no meu banco.

      Até agora não consegui identificar a real causa deste erro.

      Já tentei limpar a shared pool, e mesmo assim não me livro deste erro. Tentei também alocar o objeto do banco na shared pool e também não deu certo.

      A única maneira que encontrei para contorná-lo é fazendo um shutdown no banco, mas creio que essa não seja a melhor solução.

      Como devo proceder para analisar este caso ???

      #83074
      Marcio68Almeida
      Participante

        Esse tipo de erro costuma acontecer com consultas que não usam variável do tipo bind, e acabam fragmentando bastante a memória, não quer dizer que não há espaço em memória e sim que não há espaço contínuo para o que deve ser alocado.
        O melhor é rever a aplicação… e melhorar as consultas…
        Como paleativo, você pode executar o seguinte comando de tempos em tempos…
        alter system flush shared_pool;
        alivia um pouco e temporariamente a memória…

        #83077
        Ricardo Portilho Proni
        Participante

          Qual a versao do seu Oracle?
          Se for 10g, use memeoria automatica (sga_target), esse problema ira sumir.

          #83081
          braza
          Participante

            ok.

            Muito obrigado.

            braza.

            #83082
            braza
            Participante

              A versao do oracle é 8i.

              Tem alguma solucao prática como esta ???

              grato,

              braza.

              #83084
              Ricardo Portilho Proni
              Participante

                Nao, entao eh realmente o que o coleca falou…
                Aumenta a SHARED, e use BINDs em tudo.

                #83085
                braza
                Participante

                  ok.

                  Muito obrigado,

                  braza.

                  #83087
                  Ricardo Portilho Proni
                  Participante

                    Nao, entao eh realmente o que o coleca falou…
                    Aumenta a SHARED, e use BINDs em tudo.

                    #83117
                    Anônimo

                      [quote=”braza”:732kusmi]Bom dia,

                       Gostaria de saber o porque do erro:
                      
                       [color=red]
                       ORA-04031: unable to allocate 4096 bytes of shared memory ("shared pool","begin sys.dbms_output.get_...","PL/SQL MPCODE","BAMIMA: Bam Buffer")
                       [/color]
                      
                       Já incrementei a shared pool e de tempos em tempos este erro aparece no meu banco.
                      
                       Até agora não consegui identificar a real causa deste erro.
                      
                       Já tentei limpar a shared pool, e mesmo assim não me livro deste erro. Tentei também alocar o objeto do banco na shared pool e também não deu certo.
                      
                       A única maneira que encontrei para contorná-lo é fazendo um shutdown no banco, mas creio que essa não seja a melhor solução.
                      
                       Como devo proceder para analisar este caso ???[/quote]
                      

                      BOA TARDE

                      ORA-04031 não é possível alocar num bytes de memória compartilhada num, num, num

                      Causa: Mais memória compartilhada do que aquela que foi alocada é necessária no processo do sistema operacional . A memória privada do SGA foi exaurida
                      Ação: Use o pacote DBMS_SHARED_POOL para controlar grandes pacotes, reduza seu uso de memória compartilhada ou aumente a quantidade de memória compartilhada disponível, aumentando o valor definido para o parâmetro de inicialização SHARED_POOL_SIZE.

                      ESPERO TER AJUDADO

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