- Este tópico contém 8 respostas, 4 vozes e foi atualizado pela última vez 14 anos, 4 meses atrás por
jspaulonci.
-
AutorPosts
-
10 de novembro de 2011 às 4:24 pm #101556
bohnstedt
ParticipantePrezados, bom dia
Tenho um pouco de duvidas em relação ao aumento de memória. Tenho um servidor de 9 GB de memoria com S.O. RHEL 5.4. Então subi a instancia novamente, e deixei o default que são os 40% da memoria. Minha pergunta é até onde eu posso definir a memória sem dar problema? Qual a diferença entre o sga_target e sga_max_size? Porque eu vi tem 1.5GB dividido tanto para a target quanto para SGA_MAX_SIZE. E a PGA quanto que eu sei que está alocado para ela. Se eu subir mais do que eu devo o que acontece e o que eu posso fazer para voltar ao normal?
Segue abaixo evidências:
SQL> show parameter sga
NAME TYPE VALUE
———————————— ———– ——————————
lock_sga boolean FALSE
pre_page_sga boolean FALSE
sga_max_size big integer 1536M
sga_target big integer 1536MAgradeço
Att,
Fábio
10 de novembro de 2011 às 7:06 pm #101563jspaulonci
ParticipanteOi bohnstedt
Uma boa métrica para alocação da SGA é configurar até 70 ou 60 da memória do servidor
SGA_MAX_SIZE + PGA < Total de memória do servidor
A grosso modo é isso.
10 de novembro de 2011 às 7:28 pm #101565rman
ParticipanteComplementando…
SGA_TARGET <= SGA_MAX_SIZE <= tamanho da partição /dev/shm
10 de novembro de 2011 às 7:49 pm #101566jspaulonci
ParticipanteRman, um comportamento que tenho visto é :
Se eu não utilizar MEMORY_TARGET, eu não preciso do /dev/shm, qual a sua opnião sobre isso ?
10 de novembro de 2011 às 8:22 pm #101570rman
Participante@jspaulonci
Realmente você está certo. Eu pensei que de qualquer forma fosse utilizado o /dev/shm. Mas no caso do Oracle 10g essa partição não é necessária ?
Corrigindo:
No Oracle 11g:
MEMORY_TARGET <= MEMORY_MAX_TARGET <= tamanho da partição /dev/shm
MEMORY_TARGET é um parâmetro introduzido no Oracle 11g, esse parâmetro habilita do Automatic Memory Management. Desta forma não é necessário especificar SGA_TARGET e PGA_AGGREGATE_TARGET, o próprio Oracle vai fazer a distribuição necessária. A partição /dev/shm é usada pelo Automatic Memory Management.
No Oracle 10g:
Não existe MEMORY_TARGET e MEMORY_MAX_TARGET.
SGA_TARGET <= SGA_MAX_SIZE
10 de novembro de 2011 às 8:39 pm #101572jspaulonci
ParticipanteQue bom RMAN estamos alinhados.
Abração
10 de novembro de 2011 às 9:17 pm #101578bohnstedt
ParticipanteE qual a função do SGA_TARGET? Tipo de o SGA_MAX_SIZE tem algum problema ficar maior que SGA_TARGET? E se eu colocar mta memória que problema que pode ter e o que eu posso fazer????
Mto Obrigado
Att,
Fábio Bohnstedt
10 de novembro de 2011 às 10:05 pm #101582Victor Armbrust
MestrePessoal,
Estou vendo os comentários da galera, show. Mas antes de mais nada é FUNDAMENTAL realizar a configuração adequada do Kernel no linux. (Parametrização de memória, etc…). Como todos já sabem isso fica no /etc/systctl.conf. O ideal é ajustar este arquivo corretamente e posteriormente pensar em memória para o Banco de Dados.
O SGA_TARGET tem como objetivo principal gerenciar todos os componentes da SGA (vide: http://download.oracle.com/docs/cd/B19306_01/server.102/b14237/initparams193.htm) e também ativar a utilização do ASMM ( Automatic Shared Memory Management).
o SGA_MAX_SIZE define o tamanho máximo da SGA (vide: http://download.oracle.com/docs/cd/B19306_01/server.102/b14237/initparams192.htm) logo, o SGA_TARGET não poderá ultrapassar o SGA_MAX_SIZE.
Ainda vale lembrar que as configurações de SWAP devem ser propriamente denifidas de acordo com o montante total de memória física.
Eu NÃO UTILIZO e NUNCA UTILIZEI como parâmetro de memória para SGA calcular ou fazer contas do tipo: “X”% da memória total, nem acredito que seja o ideal. O que faço é sempre subir um valor COMPATÍVEL com a necessidade do Database que estou Administrando (Isso varia de Daatabase pra Database especialmente se utilizar RAC).
O que deve-ser feito é um acompanhamento constante via Relatórios AWR, utilizando os ADVISORs e observando taxas de HIT/RATIO de cada componente (Shared Pool, PGA, Buffer Cache, etc..)..Acho que vale muito a pena pra quem tem dúvida compreender de maneira correta o gerenciamento de memória no Oracle:(vide: http://download.oracle.com/docs/cd/B19306_01/server.102/b14211/memory.htm#PFGRF014)
Outra recomendação: SEMPRE UTILIZAR A DOCUMENTAÇÃO ORACLE, EVITANDO UTILIZAR SITES TERCEIROS, ASSIM PODE-SE CHEGAR NA INFORMAÇÃO CORRETA DO FABRICANTE.
abs
Victor DBA11 de novembro de 2011 às 1:16 pm #101588jspaulonci
ParticipanteConcordo plenamente contigo Victor, eu tive e vira e mexe tenho um problema de memória com esses parametros. Não sou completamente contra o gerenciamento automático de memória, porem para todos os meus parametros eu deixo valores mínimos, ou seja , aquele valor nunca será diminuído pelo Oracle.
Recomendo tomar cuidado com as taxas de HITS, o acompanhamento para chegarmos a um valor ideal depende de monitoramento todos os dias, em momentos de pico ou quando a SGA acabou de subir esses valores podem ser mascarados.
Quanto a configuração de semafóros de memória e tal, recomendo a leitura para cada SO.
-
AutorPosts
- Você deve fazer login para responder a este tópico.