Boa tarde, estou enviando o relatório gerado pelo AWR.

De: Hevandro Veiga <hevandr...@gmail.com>
Para: oracle_br@yahoogrupos.com.br
Enviadas: Quarta-feira, 8 de Junho de 2011 11:44
Assunto: Re: [oracle_br] Re: Problemas com System I/O (Estou Desesperado)

Raul,

O e-mail anterior saiu cortado. Deu tilt aqui.

FINDING 1: 73% impact (1355 seconds)
------------------------------------
SQL statements consuming significant database time were found.

Problemas com SQLs, já rodou o SQL tuning advisor em cima dessas queries ou
o SQL Access Advisor no workload?

FINDING 2: 50% impact (934 seconds)
-----------------------------------
The SGA was inadequately sized, causing additional I/O or hard parses.

RECOMMENDATION 1: DB Configuration, 47% benefit (881 seconds)
ACTION: Increase the size of the SGA by setting the parameter
"sga_target" to 27648 M.

O Oracle tá te pedindo para aumentar a memória da SGA. Concordo com os
demais colegas com relação ao SWAP, você deveria reduzir e não aumentar como
o Oracle tá pedindo. No entanto existe um problema aqui. O optimizer parece
não conseguir compartilhar os cursores, pode ser falta de variáveis bind,
excesso de ddl...

A query abaixo te dá um contagem de querys com o mesmo hash. Querys com o
mesmo hash plan tem grandes chances de serem similares, e podem ser
comparilhadas.

SELECT PLAN_HASH_VALUE,COUNT(*)
FROM V$SQL
WHERE PARSING_SCHEMA_NAME NOT IN
('SYS','DBSNMP','SYSMAN')
GROUP BY PLAN_HASH_VALUE ORDER BY 2;

FINDING 3: 48% impact (896 seconds)
-----------------------------------
Individual database segments responsible for significant user I/O wait were
found.

Você disse que já fez um reorg.


Pelo ADDM já é um bom começo.
Como eu havia te pedido antes, roda um report do AWR no período em que você
sabe que teve o problema e envia em anexo.
Olhar o report do AWR pode indicar um caminho mais preciso a seguir.

Usa o $ORACLE_HOME/rdbms/admin/awrrpt.sql ou faz pelo enterprise manager:


2011/6/8 JLSilva <jljlsi...@yahoo.com.br>

>
>
> raul, sim, pode editar os valores manualmente (aqueles individuais).
> a lógica é a seguinte: quando vc configura valores individuais para os
> parâmetros da sga e também configura um valor para o sga_target, os valores
> individuais passam a ser considerados como valor mínimo para as áreas
> individuais.
> ou seja, seguido minha sugestão, o cache de dados nunca será menor do que
> 6gb.
>
> essas dicas eu coloquei considerando que os parâmetros de linux já estejam
> configurados conforme as recomendações da Oracle, ou seja, os parâmetros
> como:
> /etc/sysctl.conf:
> fs.file-max = 6815744
> fs.aio-max-nr = 1048576
> kernel.shmmax = 8589934590
> kernel.shmall = 8388608
> kernel.shmmni = 4096
> kernel.msgmni = 1024
> kernel.msgmax = 65536
> kernel.msgmnb = 65536
> kernel.threads-max = 131072
> kernel.sem = 250 32000 100 128
> net.ipv4.ip_local_port_range = 9000 65500
> net.core.rmem_default = 1048576
> net.core.rmem_max = 16777216
> net.core.wmem_default = 262144
> net.core.wmem_max = 16777216
> net.ipv4.tcp_rmem = 4096 87380 16777216
> net.ipv4.tcp_wmem = 4096 65536 16777216
> vm.swappiness = 10
> vm.nr_hugepages = 7682
>
> no caso do hugepages, o valor 7682 deverá suportar sua sga de 12gb mais sua
> pga.
>
> /etc/pam.d/login
> session required pam_limits.so
>
> /etc/security/limits.conf
> oracle soft nproc 2047
> oracle hard nproc 16384
> oracle soft nofile 1024
> oracle hard nofile 65536
>
>
> On Jun 08, 2011, at 10:51 , raulcsneto wrote:
>
> > Bom dia JL,
> > Vou investigar a questão do SWAP, não havia pensado nisso. Perdoe-me se
> eu estiver falando uma grande besteira, mas eu realmente tenho pouca
> experiência, mas caso meu servidor esteja usando muito SWAP, isso poderia
> causar um problema de I/O no banco? Tendo em vista que o sistema operacional
> e o SWAP estão em um volume separado dos discos do banco, até a controladora
> é separada. Só mais uma dúvida, quanto a indicar valores individuais, mesmo
> a Oracle recomendando a utilização do gerenciamento automático da memória,
> você considera viável editar os valores manualmente?
> >
> >
> > --- Em oracle_br@yahoogrupos.com.br, JLSilva <jljlsilva@...> escreveu
> >>
> >> raul,
> >> pelo que entendi, vc tem 20GB de memória física e está usando 18GB para
> o Oracle.
> >> imagino que seu servidor deve estar usando bastante swap, e o load
> average acaba subindo bastante.
> >> minha análise é bastante superficial, mas recomendo vc reduzir a
> quantidade de memória alocada para o banco.
> >> se vc estiver usando "automatic memory management" (sga_target), procure
> reduzir o valor desse parâmetro e indicar valores para os parâmetros
> individuais.
> >> exemplo:
> >> sga_target=12GB
> >> db_cache_size=6GB
> >> shared_pool_size=4GB
> >> (folga=2GB para o AMM realocar conforme necessário, além das outras
> áreas de memória menores, como shared_pool_reserved_size, stream_pool_size
> etc.).
> >> pga_aggregate_target=3GB (esta memória não é considerada no sga_target)
> >>
> >> faça os ajustes e nos avise do resultado, para sabermos se a sugestão
> foi boa.
> >> boa sorte.
> >>
> >>
> >> On Jun 08, 2011, at 9:06 , raulcsneto wrote:
> >>
> >>> 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)');
> >>>
> >>>
> >>>
> >>>
> >>> ------------------------------------
> >>>
> >>> ----------------------------------------------------------
> >>>> 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
> >>>
> >>>
> >>
> >
> >
> >
> >
> > ------------------------------------
> >
> > ----------------------------------------------------------
> >> 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
> >
> >
>
>  
>



-- 
Hevandro Veiga
Oracle Certified Professional 11g
OCE RAC 10g


[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

[As partes desta mensagem que não continham texto foram removidas]

Responder a