Re: [oracle_br] Re: Library Cache - Tentando Identificar Origens

2010-07-29 Por tôpico Ricardo Portilho Proni
Opa, blz? Legal, vai fazer Treinamento de Tuning com a gente?

A idéia deste SQL é que não há problema em encontrar 1 ou 2 SQLs sem
Binds. Estes não são muito prejuízo, um hard parse aqui e ali é normal.
O problema são aqueles que são executados repetidamente, muitas e muitas
vezes. Aí você pode achar por este SQL.

Exemplo, este SQL tem os primeiros caracteres iguais:
SELECT SALARIO WHERE USER_NAME = 'PORTILHO';
SELECT SALARIO WHERE USER_NAME = 'LUIZA';
SELECT SALARIO WHERE USER_NAME = 'JULIO';
SELECT SALARIO WHERE USER_NAME = 'AGATHA';

Um SQL executado assim umas mil vezes (uma para cada funcionário), em um
LOOP talvez, esse sim derruba seu Banco.

Abraço !

Ricardo Portilho Proni
http://nervinformatica.com.br



Em Qui, 2010-07-29 às 19:25 +, candiurudba escreveu:

>   
> 
> Grande Ricardo...tudo bom ?
> 
> Estou fechando la uma visita com a Luiza...acho que agora para o mes
> que vem... :-)
> 
> Não entendi a relação de sql parecidos (e o que fazer com eles) com o
> latch...pensei que este latch fosse relacinado a querys sem binds,
> querys com baixa performance e etc...
> 
> --- Em oracle_br@yahoogrupos.com.br, Ricardo Portilho Proni
>  escreveu
> >
> > Eu uso este SQL para encontrar os SQLs parecidos (100 primeiros
> > caracteres iguais, o que não é perfeito) com maior quantidade.
> > 
> > SELECT SUBSTR(SQL_TEXT, 1, 100) SUB_SQL_TEXT, COUNT(SUBSTR(SQL_TEXT,
> 1,
> > 100)) QTD FROM V$SQL GROUP BY SUBSTR(SQL_TEXT, 1, 100) HAVING
> > (COUNT(SUBSTR(SQL_TEXT, 1, 100)) > 10) ORDER BY QTD;
> > 
> > Ricardo Portilho Proni
> > http://nervinformatica.com.br
> > 
> > 
> > 
> > Em Qui, 2010-07-29 às 12:26 +, candiurudba escreveu:
> > 
> > > 
> > > 
> > > Bom dia colegas,
> > > 
> > > Acredito que muito já passaram por este tipo de problema e de vez
> em
> > > quando, me vejo com este latch que sempre gera uma lentidão
> demasiada
> > > no meu banco de dados...
> > > 
> > > De segunda-feira pra ca, tenho tido este latch e não consigo
> encontrar
> > > os responsaveis (objetos)...Sei que ele esta ligado a query sem
> binds,
> > > a baixa performance na aexecução dos objetos mas, alguem saberia
> me
> > > dizer como identificar a origem do problema ?
> > > 
> > > Pelo a analise inicial que fiz, ele esta diretamente ligado a
> execução
> > > de blocos pl/sql (verificação feita pelo OEM).
> > > 
> > > Segue algumas informações basicas:
> > > 
> > > LATCH# NAME GETS MISSES SLEEPS 
> > > 
> > > 122 cache buffers chains 792655924052 4298315845 29895414
> > > 215 library cache 3974413141 5155221 2182710
> > > 214 shared pool 2276811941 2995457 914393
> > > 
> > > Outro vilão meu é o cache buffer chains...mas com relação a este
> ja
> > > estou resolvendo (performance ruins de querys e alto consumo de
> CPU).
> > > 
> > > Alguem teria algum pitaco ?
> > > 
> > > 
> > > 
> > > 
> > > 
> > 
> > 
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> 
> 
> 
> 
> 


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



[oracle_br] Re: Library Cache - Tentando Identificar Origens

2010-07-29 Por tôpico candiurudba
Grande Ricardo...tudo bom ?

Estou fechando la uma visita com a Luiza...acho que agora para o mes que vem... 
:-)

Não entendi a relação de sql parecidos (e o que fazer com eles) com o 
latch...pensei que este latch fosse relacinado a querys sem binds, querys com 
baixa performance e etc...



--- Em oracle_br@yahoogrupos.com.br, Ricardo Portilho Proni  
escreveu
>
> Eu uso este SQL para encontrar os SQLs parecidos (100 primeiros
> caracteres iguais, o que não é perfeito) com maior quantidade.
> 
> SELECT SUBSTR(SQL_TEXT, 1, 100) SUB_SQL_TEXT, COUNT(SUBSTR(SQL_TEXT, 1,
> 100)) QTD FROM V$SQL GROUP BY SUBSTR(SQL_TEXT, 1, 100) HAVING
> (COUNT(SUBSTR(SQL_TEXT, 1, 100)) > 10) ORDER BY QTD;
> 
> Ricardo Portilho Proni
> http://nervinformatica.com.br
> 
> 
> 
> Em Qui, 2010-07-29 às 12:26 +, candiurudba escreveu:
> 
> >   
> > 
> > Bom dia colegas,
> > 
> > Acredito que muito já passaram por este tipo de problema e de vez em
> > quando, me vejo com este latch que sempre gera uma lentidão demasiada
> > no meu banco de dados...
> > 
> > De segunda-feira pra ca, tenho tido este latch e não consigo encontrar
> > os responsaveis (objetos)...Sei que ele esta ligado a query sem binds,
> > a baixa performance na aexecução dos objetos mas, alguem saberia me
> > dizer como identificar a origem do problema ?
> > 
> > Pelo a analise inicial que fiz, ele esta diretamente ligado a execução
> > de blocos pl/sql (verificação feita pelo OEM).
> > 
> > Segue algumas informações basicas:
> > 
> > LATCH# NAME GETS MISSES SLEEPS 
> > 
> > 122 cache buffers chains 792655924052 4298315845 29895414
> > 215 library cache 3974413141 5155221 2182710
> > 214 shared pool 2276811941 2995457 914393
> > 
> > Outro vilão meu é o cache buffer chains...mas com relação a este ja
> > estou resolvendo (performance ruins de querys e alto consumo de CPU).
> > 
> > Alguem teria algum pitaco ?
> > 
> > 
> > 
> > 
> > 
> 
> 
> [As partes desta mensagem que não continham texto foram removidas]
>