Chiappa, Gleyson e Danilo, obrigado desde já pela ajuda, eu vou passar todas essas respostas para ele e pedir para que ele teste no ambiente dele. Att,
--- Em oracle_br@yahoogrupos.com.br, "jlchiappa" <[EMAIL PROTECTED]> escreveu > > Seguem as respostas abaixo dos items : > > >> 1º Ele não tem muitos conhecimentos de 10g e me perguntou se eu sabia > como desabilitar o dimensionamento automático de memória do 10g. Sei > que é através do parâmetro SGA_MAX_SIZE, > > não é não, o manual "Oracle® Database Reference" na entrada sobre > SGA_TARGET nos diz : > > " > Property Description > Parameter type Big integer > Syntax SGA_TARGET = integer [K | M | G] > Default value 0 (SGA autotuning is disabled) > Modifiable ALTER SYSTEM > Range of values 64 to operating system-dependent > Basic Yes > " > > ok ? O SGA_MAX_SIZE indica o limite máximo pretendido para a SGA, mas > (claro) se vc vai desabilitar a SGA automática e PORTANTO vai ter que > setar manualmente cada um dos componentes,vc sabe EXATAMENTE o que > quer e aí faz sentido (eu acho) vc não especificar o máximo da SGA > setando zero para o SGA_MAX_SIZE, a SGA ficará como a soma dos > componentes + um pequeno overhead interno > > >> 2º Ele esta rodando uma query que o plano de execução esta muito bom, > utilizando índice e tudo ( set explain trace only). > > veja que NÃO NECESSARIAMENTE "plano que usa índice é muito bom, plano > que faz FTS é mau", ok ? Em um trabalho de tunning de SQL, a sua > baliza é, além do tempo de execução real, a quantidade de LIOs > executados e a eficiência do I/O (pois um FTS "suculento", que lê > montes de blocos de uma vez, é MUITÍSSIMO mais eficiente do que pilhas > de I/Os de um bloco só, se o objetivo é recuperar a maior parte da > tabela, yes ?? > http://asktom.oracle.com/pls/asktom/f? p=100:11:0::::P11_QUESTION_ID:6749454952894#6761784388197 > é o caso clássico .... Então VEJA COM O SEU AMIGO quais são as > cardinalidades envolvidas, se REALMENTE é desejável pesquisa por > índice, yes ? > > >> Porém, quando ele > vai executar, o plano de execução não utiliza o índice e faz um table > full scan, aumentando em mais de 2000 o plano de execução. > > De cara supondo que não houve erros óbvios (exemplo, a query usa bind > no programa, e o cara pediu um explain duma versão sem binds, com > valores hard-coded no sql, ou com datatypes errados implicando em > conversão, etc), ainda assim é relativamente comum isso de se ter > diferença entre a previsão do explain plan e o real quando se migra > pro 10g : ocorre que no 10g há um job automático que coleta > HISTOGRAMAS (em modo AUTO, "chutando" os tamanhos) junto com as > estats, E o nosso amigo explain plain (que é o que o autorace/sqlplus > chamam) nos dá só uma ESTIMATIVA GERAL, ele ** não ** leva em conta os > histogramas, NÃO faz bind peek, certamente deve ser por aí a > diferença.... > No caso de peek, o que ocorre é que no 9i e no 10g mesmo com BIND > VARIABLES os histogramas são pesquisados, mas apenas no tempo de > parse, e apenas a primeira vez : a minha suposição é que esse banco > antes ou era 8i (e portanto não havia bind peek), ou era 9i mas não se > estava sendo coletado histogramas, então isso não ocorria, e agora no > 10g tá ocorrendo.... > http://asktom.oracle.com/pls/asktom/f? p=100:11:0::::P11_QUESTION_ID:3126073805757#3133766787657 > tem uma demonstração de histogramas em ação, > http://asktom.oracle.com/pls/asktom/f? p=100:11:0::::P11_QUESTION_ID:47467066281452#78492800346737065 > do explain plan "mentindo" por causa de não fazer peek, veja lá com o > seu colega se a situação dele é parecida com essa... > Mostra pra ele também como fazer um trace + tkprof, pede pra ele > verificar os params de CBO, E para fazer um trace 10053 do sql (no > livro do Jonathan Lewis, que vc tem se me lembro bem, isso está logo > nos capítulos iniciais)... > > []s > > Chiappa > > =========================================================== > Participe do ENPO - Encontro de Profissionais Oracle 2008 ! > Informações e inscrições em http://www.enpo-br.org > José Laurindo Chiappa, Palestrante ENPO-2008 > =========================================================== >