Sim, isto ocorre pela não utilização de Binds.
A solução correta é utilizar Binds, pelo menos nos SQLs mais executados,
em quantidade.

O uso de CURSOR_SHARING=FORCE ou =SIMILAR pode ajudar um pouco, mas pode
trazer problemas na aplicação. Teste antes, fora da produção.

Aumentas a SHARED POOL pode até piorar o problema, se ela já for grande
o suficiente.

Veja quais são seus SQLs mais executados em BINDs:
SELECT SUBSTR(SQL_TEXT, 1, 100) SQL_TEXT, COUNT(SQL_TEXT) QTD FROM V$SQL
HAVING COUNT(SQL_TEXT) > 100 GROUP BY SUBSTR(SQL_TEXT, 1, 100) ORDER BY
QTD;


-  
Ricardo Portilho Proni
http://portilho.profissionaloracle.com.br



Em Seg, 2009-04-27 às 14:21 +0000, candiurudba escreveu:
> 
> 
> Bom dia pessoal,
> 
> Gostaria de uma ajuda sobre performance e tuning...
> 
> Estou tendo alguns latch na minha library cache...sei que isto tem
> haver com sqls que não utilizam bind e geram um hard parse...mas..como
> resolver isso ? somente revendo a logica das aplicações ? a quantidade
> de cursores abertos (hoje em 2531 abertos) incide diretamente sobre
> estes latchs ? Se eu aumentasse a minha shared pool, poderia ter este
> problema reduzido ?
> 
> Faço estes questionamentos pois, nos foruns que procurei, so achei a
> indicaçãopara rever a aplicação...mas como a aplicação é fechada, fica
> meio complicado, por isso, pensei em algo para utilizar a fim de
> minimizar este problema..
> 
> 
> 
> 
> 

Responder a