MonTiLLa 1 Denunciar post Postado Novembro 13, 2006 Opa galera!Seguinte, estou tendo muitos acesso da memoria para os discos.O ORACLE grava todas as alterações feitas em tabelas, em um redo log buffer. Um processo secundário, o LGWR, grava as informações destes redo log buffers em uma tabela de redo log no disco.Estou querendo aumentar o parametro de log_buffer para aumentar a quantidade do buffer de log e diminuir o I/O.Atualmente esse parametro esta com 16MB.Existe algum problema em modificar esse parametro ou pode influenciar nos blocos do Oracle e ocorrer erros??Vlw!!! Compartilhar este post Link para o post Compartilhar em outros sites
alphamek 2 Denunciar post Postado Novembro 14, 2006 E ae Bruno, Cara! Não existe problema não, se está tendo rentenção no LOG buffer, existe algumas coisas que pode fazer para melhorar a performance e retirar essa retenção de I/O, como: - Aumentar os parâmetros de LOG_BUFFER, ele é estático. - O LOG_BUFFER não influência nos blocos do Oracle, pode ficar sussegado. - Geralmente, é recomendado você configurar o log_buffer utilizando a seguinte fórmula: LOG_BUFFER = 128K * total_processador; - Verificar o tamanhos dos membros de cada grupo também é importante, pois se os arquivos de LOG FILE for pequenos, aumenta os LOG SWITCHS (Desde para disco), e isso pode despencar a performance. Ter um valor bom para intervalos é recomendado. Abraços, B) Compartilhar este post Link para o post Compartilhar em outros sites
MonTiLLa 1 Denunciar post Postado Novembro 15, 2006 Grande Rodrigo! E entao cara meus switch logs estao com um tempo bom, de aproximadamente 1h para cada switch log. Estou com 4 grupos e 2 membros em cada, ai ta file. Mas quando ocorreu um processo de CHK Point e comeca o processo de backgroud LGWR ai fica tendo retencao cara... muito acesso de I/O na maquina... tipo meu parametro hoje esta assim: SQL> show parameter log_bu NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ log_buffer integer 15316992 SQL> quit esse valor esta em bites ou bytes ??? o processador da maquina nao tenho muita certeza mais e maior que 3ghz... Qual seria o calculo para eu poder ter uma nocao de como mudar esse parametro?? Legal esse parametro ser estatico, pelo menos o banco num para!! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Vlw ai grande!!! Abracao!! Compartilhar este post Link para o post Compartilhar em outros sites
alphamek 2 Denunciar post Postado Novembro 16, 2006 Fala Brunão, Seguinte, os valores dos parâmetros são em BYTES. O valor que já está configurado seu LOG_BUFFER é razoavel. A Oracle por padrão recomenda utilizar a seguinte regra para LOG_BUFFER. LOG_BUFFER = 128K * numero_cpu; Exemplo, se minha máquina é DUAL PROCESSOR, então: LOG_BUFFER = 128K * 2; ==> LOG_BUFFER = 131584 * 2; ==> LOG_BUFFER = 263168; Isso é um padrão Oracle. E para alterar deverá dar um SHUT e START no bd. Abraços, B) Compartilhar este post Link para o post Compartilhar em outros sites
MonTiLLa 1 Denunciar post Postado Novembro 16, 2006 Grande Rodrigo!! Vlw pelas dicas cara!! Vou deixar o meu valor com 50mb, pois tow tendo muitos processos de I/O na maquina e com muitos acessos tb. Não estou podendo transferir os data files mais acessados para outro local pq o servidor esta com 4 hd's mas configurado em raid 10, ou seja, e como se estivesse apenas 1 hd na maquina. http://forum.imasters.com.br/public/style_emoticons/default/cry.gif Estou tendo muito consumo de I/O quando são feitos os checkpoint na maquina e os processos DBWR e LGWR começam a serem executados. Para quem tiver o mesmo problema, pode ser usado a alteração do parametro log_buffer para aumentar a velocidade da comunicação da memória com o disco. Modifiquei o meu para 50MB mais é recomendado bem menos como o Rodrigo falou. O script para alteração está abaixo. SQL> alter system set log_buffer=52428800 scope = spfile; http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
alphamek 2 Denunciar post Postado Novembro 16, 2006 Bruno, Já deu uma olhada como os CONTROLADORES da máquina estão trabalhando? Os discos? Quantidade de DBWn na instância? LOG_BUFFER tem uma área reservada na SGA, que não é influênciada pelo Database Buffer, pode estar sofrendo limitações físicas!! Abraços, http://forum.imasters.com.br/public/style_emoticons/default/upset.gif Compartilhar este post Link para o post Compartilhar em outros sites
MonTiLLa 1 Denunciar post Postado Novembro 22, 2006 Grande Rodrigo!! Seguinte cara, estou fazendo consultoria nunha maquina de cliente que é razoável, o problema é o seguinte, existe 4 hd´s, porém está configurado em raid 10, ou seja, junta os 4 como se fosse 1 hd... :blink: Nao estou tendo a possibilidade de transferir alguns data files para outros local ou mesmo as indexes do banco de aplicação... Ou seja, esta danto os processos de background quanto os processos da aplicação concorrendo no mesmo canal de comunicação de memória com o disco, ai quando ocorre os checkpoint no banco e todas as transasões concretizadas devem ser transferidas para os redo ai é consumido muito I/O da maquina cara... Mas aumentei o tamanho do log_buffer para acelerar o processo do LGWR e deu uma melhorada, fiz algumas modificações também na SGA e na PGA para aumentar o desempenho do banco. Estou convencendo o cliente para colocar dos 4 hd´s em dois raid 1 e assim poder fazer as modificações necesárias para o banco ficar alinhado!! Você acha que com essa modificação de raid 10 para 2 partições em raid 1 melhoraria no desempenho ou o raid 10 é melhor ??? Vlw ai pela dicas Grande!!!! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites