- Este tópico contém 13 respostas, 4 vozes e foi atualizado pela última vez 13 anos, 10 meses atrás por
msantino.
-
AutorPosts
-
17 de abril de 2012 às 5:58 pm #103379
msantino
ParticipanteFalae 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 = 5GInstância B:
SGA_MAX_SIZE = 5G
SGA_TARGET = 5GMeu 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 operationA 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?
18 de abril de 2012 às 7:01 pm #103408Douglas Paiva de Sousa
ParticipanteTeoricamente 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
18 de abril de 2012 às 7:37 pm #103409msantino
ParticipantePois é @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 5GInstância 2:
sga_max_size big integer 12G
sga_target big integer 12GSendo 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 40106Parece que livres de fato só tem 2G e que os outros estão todos em cache.
Alguma sugestão?
18 de abril de 2012 às 9:04 pm #103413Douglas Paiva de Sousa
ParticipanteCara 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,
18 de abril de 2012 às 9:31 pm #103417msantino
ParticipanteSaquei…
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 cachedE 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 40083Em quem eu acredito? hehehehe
18 de abril de 2012 às 9:37 pm #103418msantino
ParticipanteSegundo 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…
18 de abril de 2012 às 10:04 pm #103419Douglas Paiva de Sousa
ParticipanteTenta 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,
18 de abril de 2012 às 10:09 pm #103420msantino
ParticipanteNã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 operationChuta que é macumba?
18 de abril de 2012 às 10:15 pm #103421Douglas Paiva de Sousa
ParticipanteCara, 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,
18 de abril de 2012 às 10:33 pm #103422msantino
ParticipanteVou tentar..
Hoje à noite quando finalizar o backup vou mandar ver… depois posto o resultado!
Abs ai e valeu pela força! 😉
18 de abril de 2012 às 10:39 pm #103423rman
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…
18 de abril de 2012 às 11:00 pm #103424msantino
ParticipanteMas 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á!
20 de abril de 2012 às 7:02 am #103449felipeg
ParticipanteSeguinte, 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 oradebughttp://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.20 de abril de 2012 às 4:59 pm #103453msantino
ParticipanteAcho 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 novamenteFuncionou na boa!
valeu galera pela força!
-
AutorPosts
- Você deve fazer login para responder a este tópico.