Ivan, Com o alerta que o colega JL deu sobre a SWAP, dei uma pesquisada e parece mesmo que faz muito sentido, hoje a noite irei parar o banco para fazer as alterações de memória que vocês me recomendaram e amanhã estarei monitorando o comportamento do banco e espero poder postar aqui um resultado positivo, quanto ao RAID 0 só utilizo para REDO e ARCHIVES que ja são redundancias, dados e indices estão com RAID 10, vou dar uma olhada nos links que voce me passou, muito obrigado pelas dicas!!!
Abraço Raul --- Em oracle_br@yahoogrupos.com.br, Ivan Ricardo Schuster <ivanrs79@...> escreveu > > Raul, > > Primeiramente: Não abra mão de segurança para compensar o problema de > I/O. RAID 0 não é opção para bancos de dados! > > Sim, swap é uma grande suspeita, o problema de IO parece não ser > somente "System", mas geral. > > Considere as recomendações dos colegas para ajustar os parametros de > memória, em geral recomendo a configuração de valores fixos de > memória, ou ao menos definir valores mínimos para cada item. > > Acredito que este Linux seja 64 bits, certo? > De qualquer forma, você pode considerar a utilização de hugepages em > seu servidor: > http://ivanschuster.wordpress.com/category/gerenciamento-de-memoria/ > > Recomendo ainda que você verifique as dicas em: > http://www.puschitz.com/TuningLinuxForOracle.shtml > > Principalmente no que se refere a ativar Asynchronous I/O, caso o > ajuste de memória não resolva. > > Sobre Patch Set Updates (PSU), são pacotes de patches liberados pela > Oracle trimestralmente e que corrigem bugs de segurança no seu banco > de dados. Apesar de não serem patches especificos de desempenho, podem > corrigir algum problema relacionado. > > > 2011/6/8 Raul Francisco Costa F. de Andrade, DBA <raulfdba@...>: > > Eu também apostaria em diminuir um pouco a quantidade de memória que está > > sendo dedicada ao Oracle. > > A questão do SO estar fazendo SWAP é pertinente... > > > > Raul > > ----------------------------------------------------------------------- > > *Raul Francisco da Costa Ferreira de Andrade* > > *DBA - OCP - Oracle Certified Professional* > > *COBIT Foundation 4.1 > > Celular:(41)8855-8874 Claro > > *email: raulfdba@... > > Skype: raul.andrade > > msn:raulandrade@... > > www.clickdba.com > > > > *"A adversidade leva alguns a serem vencidos > > e outros a baterem recordes." * > > William Arthur Ward > > > > > > > > Em 8 de junho de 2011 10:46, raulcsneto <raulcsneto@...> escreveu: > > > >> > >> > >> Bom dia Gerson, > >> Até semana passada eu tinha dois volumes separados de RAID 10 com 4 discos > >> de 143Gb 15.000RPM um para dados e outro para índices (o problema já > >> ocorria > >> nesta ocasião) então após ler algumas coisas e conversar com um amigo, que > >> já fez isso e obteve sucesso, decidi criar um volume maior, juntando os 8 > >> discos, assim eu teria o dobro de discos para a controladora fazer Striping > >> no momento de leitura/gravação talvez, melhorando o problema de I/O, porém > >> parece que tudo permaneceu como estava (ou seja acho que o problema não era > >> disco) > >> > >> --- Em oracle_br@yahoogrupos.com.br, Gerson Junior <gerson.vasconcelos@> > >> escreveu > >> > > >> > Pelo que vi, dados e indices estão no mesmo range de discos, é isso? > >> > > >> > Não seria viável separar? > >> > > >> > > >> > > >> > > >> > Gerson S. de Vasconcelos Júnior > >> > OCA DBA - Oracle Certified Associate > >> > Fone: (81) 9816-0236 > >> > Msn: gerson.vasconcelos@ > >> > Skype: gersonvjunior > >> > http://www.diaadiaoracle.com.br/ > >> > > >> > > >> > Em 8 de junho de 2011 09:06, raulcsneto <raulcsneto@> escreveu: > >> > >> > > >> > > > >> > > > >> > > Bom dia > >> > > > >> > > Tenho um banco de 230Gb rodando no 10G estou tendo muitos problemas de > >> > > System I/O, será que alguem poderia me ajudar a verificar a causa deste > >> > > problema, segue abaixo um resumo do meu cenário e das ações que já > >> tomei: > >> > > > >> > > O Oracle 10G roda em um servidor Redhat 5 com dois processadores > >> Quad-core > >> > > Xeon 2.66Ghz, 20Gb de memória, dos quais 18Gb estão alocadas para o > >> oracle. > >> > > > >> > > Possuo um Disco Virtual com 8 discos SAS de 15.000Rpm e 143Gb em RAID > >> 10, > >> > > totalizando 544Gb para Dados e Indices; > >> > > > >> > > Possuo um Disco Virtual com 2 discos SAS de 15.000Rpm e 143Gb em RAID > >> 0, > >> > > totalizando 272Gb para Redo; > >> > > > >> > > Possuo um Disco Virtual com 2 discos SAS de 15.000Rpm e 143Gb em RAID > >> 0, > >> > > totalizando 272Gb para Archives; > >> > > > >> > > Estes tres volumes estão em uma controladora PERC6/E todos segmentados > >> em > >> > > Stripes de 512k; > >> > > > >> > > Possuo Tablespaces separadas para Dados e Indices criadas com alocação > >> > > uniforme de 512k com datafiles de 2Gb; > >> > > > >> > > Recentemente movi todas as tabelas e indices para tablespaces novas > >> para > >> > > eliminar a fragmentação; > >> > > > >> > > Caso alguem conheça algo que eu possa fazer para tentar descobrir onde > >> está > >> > > o problema, seria de grande valor par mim, pois já esgotei todas as > >> minhas > >> > > possibilidades, e a várias noites já não sei o que é dormir direito. > >> > > > >> > > Seguem abaixo algumas querys que fiz, meus resultados estão de acordo > >> em > >> > > todas elas: > >> > > > >> > > ÍNDICE DE ACERTOS NO CACHE > >> > > ========================== > >> > > (quanto mais BHR próximo a 1, melhor) > >> > > > >> > > column bhr format 9.99 > >> > > column mydate heading 'Ano Me Di Hora' > >> > > select to_char(end_interval_time,'yyyy-mm-dd HH24') mydate, > >> > > new.name "Buffer Pool", > >> > > (((new.consistent_gets-old.consistent_gets)+ > >> > > (new.db_block_gets-old.db_block_gets))- > >> > > (new.physical_reads-old.physical_reads)) / > >> > > ((new.consistent_gets-old.consistent_gets)+ > >> > > (new.db_block_gets-old.db_block_gets)) bhr > >> > > from > >> > > dba_hist_buffer_pool_stat old, > >> > > dba_hist_buffer_pool_stat new, > >> > > dba_hist_snapshot sn > >> > > where > >> > > (((new.consistent_gets-old.consistent_gets)+ > >> > > (new.db_block_gets-old.db_block_gets))- > >> > > (new.physical_reads-old.physical_reads)) / > >> > > ((new.consistent_gets-old.consistent_gets)+ > >> > > (new.db_block_gets-old.db_block_gets)) > 0 > >> > > and > >> > > new.name = old.name > >> > > and > >> > > new.snap_id = sn.snap_id > >> > > and > >> > > old.snap_id = sn.snap_id-1 > >> > > order by mydate; > >> > > > >> > > ÍNDICE DE ACERTOS DE CACHE PARA OBJETOS DO DICIONÁRIO DE DADOS > >> > > ============================================================== > >> > > (hit ratio deve estar próximo a 1 - apesar de ser inviável para alguns > >> > > objetos, como sequences) > >> > > > >> > > select > >> > > parameter "Parametro", > >> > > gets, > >> > > Getmisses , > >> > > getmisses/(gets+getmisses)*100 "Taxa de erro", > >> > > (1-(sum(getmisses)/ (sum(gets)+sum(getmisses))))*100 "Taxa de acerto" > >> > > from v$rowcache > >> > > where gets+getmisses <>0 > >> > > group by parameter, gets, getmisses ; > >> > > > >> > > ÍNDICE DE ACERTOS NO CACHE POR SESSÃO > >> > > ===================================== > >> > > (hit ratio deve estar próximo a 1 - apesar de 1 ser improvável) > >> > > > >> > > select Username, > >> > > OSUSER, > >> > > Consistent_Gets, > >> > > Block_Gets, > >> > > Physical_Reads, > >> > > 100*( Consistent_Gets + Block_Gets - Physical_Reads)/ > >> > > ( Consistent_Gets + Block_Gets ) "Hit Ratio %" > >> > > from V$SESSION,V$SESS_IO > >> > > where V$SESSION.SID = V$SESS_IO.SID > >> > > and ( Consistent_Gets + Block_Gets )>0 > >> > > and username is not null > >> > > order by Username,"Hit Ratio %"; > >> > > > >> > > ÍNDICES DE CONTENÇÃO DE LATCH DE REDO > >> > > ===================================== > >> > > (quanto mais abaixo de 1 os ratios, melhor) > >> > > > >> > > SET feedback OFF > >> > > COLUMN name FORMAT a15 > >> > > COLUMN gets FORMAT 99999999 > >> > > COLUMN misses FORMAT 999999 > >> > > COLUMN immediate_gets FORMAT 99999999 HEADING 'IMM_GETS' > >> > > COLUMN immediate_misses FORMAT 99999999 HEADING 'IMM_MISSES' > >> > > PROMPT Examining Contention for Redo Log Buffer Latches... > >> > > PROMPT ---------------------------------------------------- > >> > > > >> > > SELECT name, gets, misses, immediate_gets, immediate_misses, > >> > > Decode(gets,0,0,misses/gets*100) ratio1, > >> > > Decode(immediate_gets+immediate_misses,0,0, > >> > > immediate_misses/(immediate_gets+immediate_misses)*100) ratio2 > >> > > FROM v$latch WHERE name IN ('redo allocation', 'redo copy'); > >> > > > >> > > ORDENAÇÕES EM MEMÓRIA/DISCO > >> > > =========================== > >> > > (quanto mais memória e menos disco, melhor) > >> > > > >> > > SET HEADING OFF > >> > > SET FEEDBACK OFF > >> > > COLUMN name FORMAT a30 > >> > > COLUMN value FORMAT 99999990 > >> > > > >> > > SELECT name, value FROM v$sysstat > >> > > WHERE name IN ('sorts (memory)', 'sorts (disk)'); > >> > > > >> > > > >> > > > >> > > >> > > >> > [As partes desta mensagem que não continham texto foram removidas] > >> > > >> > >> > >> > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > ------------------------------------ > > > > -------------------------------------------------------------------------------------------------------------------------- > >>Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira > >>responsabilidade de seus remetentes. > > Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ > > -------------------------------------------------------------------------------------------------------------------------- > >>Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure > >>» Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: > >>http://www.oraclebr.com.br/ > > ------------------------------------------------------------------------------------------------------------------------ > > Links do Yahoo! Grupos > > > > > > > > > > -- > Ivan Ricardo Schuster > OCP 10g/11g > OCE RAC 10g/Linux >