Pular para o conteúdo
Visualizando 14 posts - 1 até 14 (de 14 do total)
  • Autor
    Posts
  • #103379
    msantino
    Participante

      Falae pessoal, tranquilex?

      To com um cenário aqui meio estranho e queria saber se vocês podem me ajudar?

      Tenho um servidor com 32GB de RAM e 2 instâncias Oracle 10g (10.2.0.4) em RHEL 5.
      Instância A:
      SGA_MAX_SIZE = 8G
      SGA_TARGET = 5G

      Instância B:
      SGA_MAX_SIZE = 5G
      SGA_TARGET = 5G

      Meu alvo é a instância A, pois a B não preciso mexer.

      Quando eu mando um:
      ALTER SYSTEM SET SGA_TARGET=6G SCOPE=BOTH
      Ele simplesmente não responde ao comando.
      A instância continua funcionando normalmente, aceitando conexões e tal, mas a janela do SQLPLUS não faz nada.
      Até que eu aperto Ctrl+c e cancelo o comando, aí ele me dá a mensagem:

      alter system set sga_target=6G scope=both
      *
      ERROR at line 1:
      ORA-02097: parameter cannot be modified because specified value is invalid
      ORA-01013: user requested cancel of current operation

      A minha dúvida é:
      Existe uma instância em standby pra esse cara, usando DATAGUARD. E no servidor de contingência não há mais memória livre, pois o hardware é diferente.

      Será que eu não consigo alocar mais SGA_TARGET em produção por causa do stdby?

      #103408
      Douglas Paiva de Sousa
      Participante

        Teoricamente não existe nenhuma relação com o banco de dados standby, pois cada um tem seu spfile, e as informações que são executadas com “alter system…” e “alter database….” não geram REDO se eu não estiver errado. Mais em todo caso investigue algumas coisas como.

        1 – Seu servidor tem a quantidade de memória livre que você quer alocar?
        2 – Se você puder crie um pfile a partir do spfile alter a SGA, re-inicie a instancia a partir do pfile e re-crie o spfile.

        Talvez isso ajude.

        Att

        #103409
        msantino
        Participante

          Pois é @DPaiva, mas aí é que tá. Eu não queria parar a instância pra isso, pois justamente há algum tempo realizamos essa parada pra aumentar o SGA_MAX_SIZE pra 8G e permitir ir incrementando o SGA_TARGET aos poucos e vendo o comportamento do banco…

          SObre a memória livre no servidor, não estou tão certo pelo seguinte: O servidor tem 32gb e é dedicado pra Oracle, contendo 2 instâncias:

          Instância 1:
          sga_max_size big integer 8G
          sga_target big integer 5G

          Instância 2:
          sga_max_size big integer 12G
          sga_target big integer 12G

          Sendo assim, ainda existem pelo menos 12G de memória a serem uilizadas pelo SO e pro Oracle.

          Sendo que ao rodar um free -m retorna assim:

          total used free shared buffers cached
          Mem: 32170 29550 2619 0 102 20641
          -/+ buffers/cache: 8807 23362
          Swap: 40962 855 40106

          Parece que livres de fato só tem 2G e que os outros estão todos em cache.

          Alguma sugestão?

          #103413
          Douglas Paiva de Sousa
          Participante

            Cara a algum tempo atrás eu passei por situação semelhante com relação a memória livre no servidor, mais na realidade meu problema estava no DB_CACHE_SIZE que estava subdimensionado então o banco de dados começava a pegar memória do SO e quando ela acabava ainda consumia SWAP.
            No meu caso fizemos um tunning no DB_CACHE_SIZE para achar o valor ideal, mais também logo em seguida migramos para o 11gR2 e resolveu.

            Tenta dar um “top” no SO para ver quem está consumindo mais memória.

            Att,

            #103417
            msantino
            Participante

              Saquei…

              Mas o TOP tá mostrando que tem 20G livres:

              Mem: 32942136k total, 32761492k used, 180644k free, 179528k buffers
              Swap: 41945704k total, 900196k used, 41045508k free, 22011540k cached

              E o free -m mostra 2g:

              total used free shared buffers cached
              Mem: 32170 31944 226 0 177 21584
              -/+ buffers/cache: 10182 21987
              Swap: 40962 879 40083

              Em quem eu acredito? hehehehe

              #103418
              msantino
              Participante

                Segundo a explicação desse link http://www.linuxatemyram.com/, na verdade eu tenho memória livre pra usar… no caso, cerca de 20g que conseguiria alocar pra alguma coisa.

                Mas é estranho eu não conseguir alocar mais.

                Será que dando um shutdown na instância e subindo ela novamente, eu consigo alterar direto pelo banco, sem precisar mexer nos arquivos de config? Vai que tem alguma coisa travada! rs…

                #103419
                Douglas Paiva de Sousa
                Participante

                  Tenta fazer assim;

                  ALTER SYSTEM SET SGA_TARGET=6G SCOPE=SPFILE;

                  Depois disso dá um shutdown na instancia e reinicie a mesma.

                  Acredito que deva funcionar, pois quando você der shutdown todos os recursos alocados por esta instancia serão liberados.

                  Att,

                  #103420
                  msantino
                  Participante

                    Não vai também! rs…

                    Já tinha tentado… Ele simplesmente fica parado, sem retorno e quando eu cancelo dá o erro que falei:

                    ERROR at line 1:
                    ORA-02097: parameter cannot be modified because specified value is invalid
                    ORA-01013: user requested cancel of current operation

                    Chuta que é macumba?

                    #103421
                    Douglas Paiva de Sousa
                    Participante

                      Cara, acho que você vai ter que ser mais radical…

                      1 – SHUTDOWN IMMEDIATE;
                      2 – STARTUP MOUNT;
                      3 – ALTER SYSTEM SET SGA_TARGET=6G SCOPE=SPFILE;
                      4 – SHUTDOWN IMMEDIATE;
                      5 – STARTUP;

                      Att,

                      #103422
                      msantino
                      Participante

                        Vou tentar..

                        Hoje à noite quando finalizar o backup vou mandar ver… depois posto o resultado!

                        Abs ai e valeu pela força! 😉

                        #103423
                        rman
                        Participante

                          @msantino

                          Uma outra coisa que você pode testar, ao invés de aumentar, tente diminuir, isso vai tirar a dúvida se é falta de memoria ou não…

                          #103424
                          msantino
                          Participante

                            Mas ai, diminuindo eu corro o risco de não conseguir subir na mesma hora e afetar o ambiente de produção…

                            De qualquer forma, à noite eu posso testar isso antes de subir a SGA e ver no que dá!

                            #103449
                            felipeg
                            Participante

                              Seguinte, se ainda não estiver funcionando.

                              Três coisas:
                              1 – Depois de executar e cancelar o comando, alguma coisa aparece no alert.log?
                              2 – Se a resposta do 1 for não, gere um trace e veja o que aparece no momento do travamento:
                              Use o oradebug

                              http://psoug.org/reference/oradebug.html

                              3 – IMHO, pode ser alguma coisa com os parâmetros no SO incorretosmal dimensionados, revise a sua instalação utilizando a documentação oficial da Oracle para a versão do Banco e do SO.

                              Atenciosamente,
                              Felipe.

                              #103453
                              msantino
                              Participante

                                Acho que foi algum comportamento inesperado mesmo (bug!).

                                1 – Eu baixei a instância, subi (sem alteração), e alterei o SGA_TARGET. Foi na boa…
                                2 – Aí subi o SGA_MAX_SIZE target=spfile, foi também.
                                3 – Parei a instância e subi novamente (pra pegar o novo MAX_SIZE)
                                4 – Subi o SGA_TARGET novamente

                                Funcionou na boa!

                                valeu galera pela força!

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