Irei ver a questão dos parametros OPT o que posso melhorar, já os custos iguais 
também e outras coisas mais.


  ----- Original Message ----- 
  From: jlchiappa 
  To: oracle_br@yahoogrupos.com.br 
  Sent: Tuesday, August 18, 2009 6:34 PM
  Subject: [oracle_br] Re: Problema Tuning


    ** Releia ** a resposta, eu disse (entre outras coisas ) :

  - PODE SER que o fato dos params optimizer estarem iguais esteja INCORRETO, 
um ajuste seja necessário em PROD porque o hardware é diferente, a concorrência 
é diferente, o que for

  - *** NÂO *** é só "fazer o analyze com 100%", é COLETAR HISTOGRAMAS se há 
distribuição irregular de valores

  - e as outras coisas TODAS que eu disse como CPU Costing, situação física 
diferente, cluster factor.... Isso TUDO tem que ser analisado para vc descobrir 
o que está acontecendo, OK ?

  []s

  Chiappa
  --- Em oracle_br@yahoogrupos.com.br, "Willian Fernando Frasson" 
<wfras...@...> escreveu
  >
  > Então Chiappa, o plano de execução está diferente na tabela está fazendo 
Full (conforme plano de execução) no Desenv que está ok.
  > 
  > Com relação aos parametros opt*** estão iguais em ambos bancos, ja tentei 
tambem fazer um analyze com 100% usando gather_stats das tabelas envolvidas.
  > 
  > ----- Original Message ----- 
  > From: jlchiappa 
  > To: oracle_br@yahoogrupos.com.br 
  > Sent: Tuesday, August 18, 2009 1:01 PM
  > Subject: [oracle_br] Re: Problema Tuning
  > 
  > 
  > Vamos por partes aí : PRIMEIRO de tudo, o acesso via índice ao final das 
contas É mais rápido do que o full table scan ou não ???? Se for, pelo que vc 
diz parece ser muito mais questão de utilização do CBO do que tuning da query 
em si, provavelmente vc deve estar caindo num dos casos ** clássicos ** aonde o 
CBO pode montar um plano não-ótimo :
  > 
  > a) não basta só ter estatísticas, as estatísticas ** TEM ** que ser de boa 
qualidade, com COMPUTE sempre aonde que der, e (IMPORTANTE!!) com Histogramas 
em colunas aonde a distribuição de dados seja irregular
  > 
  > b) constraints (de PK, FK, UK) devem estar presentes aonde necessário, elas 
não servem apenas para Integridade, mas dão dicas importantes pro CBO
  > 
  > c) configuração do CBO, em especial os parâmetros OPTIMIZER_nnn (como o 
optimizer_index_cost_adj, aonde vc influencia o custo do acesso via índice), o 
db_file_multiblock_read_count, as áreas de hash e sort, paralelismo.... Muitas 
vezes os valores default desses params até atendem, mas em outras para ajustar 
ao seu hardware e condições de uso pode ser necessários ajustes neles... O 
ponto de "estarem iguais em prod e em dev" me parece levar à copnclusão de que 
estão ** ERRADOS **, pois PROD e DEV são ambientes COMPLETAMENTE diferentes 
imagino (em número de usuários simultâneos, capacidade de I/O e CPU, 
concorrência, RAM disponível, etc), deixar os settings iguais nem sempre é o 
melhor , ajustar em PROD para corresponder à realidade de PROD pode ser 
recomendável
  > 
  > d) se for banco 10g ou superior, coletar estatísticas de SISTEMA (CPU 
costing) via dbms_stats.gather_system_stats , num período ** REPRESENTATIVO ** 
da sua utilização
  > 
  > e) questões físicas dos índices/tabelas, como cluster factor, extents 
anormalmente grandes ou pequenos, linhas migradas/chaining
  > 
  > quando se fala em volumes maiores (não que 2, 3 milhões sejam , longe disso 
num hardware de Produção) mas enfim a) é um caso típico por causa dos 
histogramas, mas cheque TODAs as possibilidades... Um trace 10053 pode ser 
útil, também.... Boas refs pra esse trabalho são : 
http://www.centrexcc.com/A%20Look%20under%20the%20Hood%20of%20CBO%20-%20the%2010053%20Event.pdf
 , http://www.adp-gmbh.ch/ora/tuning/cbo/logical_physical_io.html , 
http://www.centrexcc.com/Fallacies%20of%20the%20Cost%20Based%20Optimizer.pdf , 
http://www.centrexcc.com/Tuning%20by%20Cardinality%20Feedback.pdf , 
http://www.dbazine.com/oracle/or-articles/hotka2 , 
http://www.dbasupport.com/forums/archive/index.php/t-38893.html , 
http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:3126073805757
 , 
http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:6601251003901
 e 
http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:67994814192949#1085556500346495558
 .
  > 
  > Sucesso,
  > 
  > Chiappa
  > 
  > --- Em oracle_br@yahoogrupos.com.br, "Willian Fernando Frasson" <wfrasson@> 
escreveu
  > >
  > > Pessoal boa tarde,
  > > 
  > > Vamos ver se alguém já teve o problema semelhante:
  > > 
  > > Imaginem uma query com 4/5 tabelas envolvidas no voluma de 2, 3 milhoes 
de registros, onde o PLANO DE EXECUCAO mostra um FULL SCAN em todos, bom até ai 
tudo bem.
  > > 
  > > A mesma query no desenvolvimento com o mesmo volume de dados faz uso de 
índice e não o full scan.
  > > 
  > > Estatisticas da base de desenvolvimento desatualizadas, Estatisticas da 
produção (tabelas e indices das tabelas envolvidas atualizadas)
  > > 
  > > Pior de tudo (Retiro o stats dos indices da produção (faz o plano de 
execução correto usando os indices)
  > > 
  > > Obs.: Todos parametros opt_* estão iguais na Producao e no Desenv.
  > > 
  > > Utilização de RULE na produção (faz o plan correto tambem)
  > > 
  > > Hits de buffer cache (58% na producao)
  > > 
  > > Hits de buffer cache (95% no desenv)
  > > 
  > > Alguem teria ideia de mais alguma coisa que poderia ser...?
  > > 
  > > 
  > > Abcs.
  > > 
  > > [As partes desta mensagem que não continham texto foram removidas]
  > >
  > 
  > 
  > 
  > 
  > 
  > 
  > ----------------------------------------------------------
  > 
  > 
  > 
  > O Banco de Dados de Vírus interno expirou.
  > Verificado por AVG - http://www.avgbrasil.com.br 
  > Versão: 8.0.233 / Banco de dados de vírus: 270.10.16/1926 - Data de 
Lançamento: 30/1/2009 17:31
  > 
  > 
  > [As partes desta mensagem que não continham texto foram removidas]
  >



  


------------------------------------------------------------------------------



  O Banco de Dados de Vírus interno expirou.
  Verificado por AVG - http://www.avgbrasil.com.br 
  Versão: 8.0.233 / Banco de dados de vírus: 270.10.16/1926 - Data de 
Lançamento: 30/1/2009 17:31


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

Responder a