O ORACLE na versão 9 o ideal é fazer a coleta de estatísticas estimada quantas vezes forem necessárias, é rápido e não causa muito impacto no banco, pode ser agendada para todos os dias a noite, mas lembre cálculo estimado.
Já a estatística calculada, agende para uma vez por final de semana. Quando um abjeto muda 20% do seu tamanho já está com a estatística comprometida e o oracle pode ser configurado para fazer esta coleta automática, gerenciando todos os objetos, mas aí o desempenho cai muito. Abraço Ricardo _____ De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de jlchiappa Enviada em: quinta-feira, 8 de dezembro de 2005 11:24 Para: oracle_br@yahoogrupos.com.br Assunto: [oracle_br] Re: Plano de execucao Não é por tempo, vc deve recoletar sempre que elas ficarem muito defasadas : no caso de um sistema batch, é fácil, isso é feito logo após a carga dos dados e/ou após o processamento do dia, já num sistema OLTP uma boa opção é monitorar, quando mais de 10% dos dados, coisa assim, forem alterados, já se vale a pena re-coletar estats, a cláusula MONITORING do ALTER TABLE serve pra isso. Em sistemas OLTP menores, em que a coleta não impacte tanto, já que as tabelas são relativamente pequenas, E onde a alteração não seja tão constante , e seja algo previsível, também se pode estabelecer um dia/horário fixo (diário, semanal), tipo : vc sabe que em regime normal demora ao menos dez dias de trabalho pra que o volume de alterações nas tabelas chegue perto de 10%, num caso desses uma coleta agendada semanalmente (digamos) atende perfeitamente. []s Chiappa --- Em oracle_br@yahoogrupos.com.br, "ESTUDO" <[EMAIL PROTECTED]> escreveu > Aproveitando o assunto, > De quanto e quanto tempo é necessário atualizar as estatisticas do banco? > > Obrigada > > Cris > ----- Original Message ----- > From: jlchiappa > To: oracle_br@yahoogrupos.com.br > Sent: Thursday, December 08, 2005 8:49 AM > Subject: [oracle_br] Re: Plano de execucao > > > --- Em oracle_br@yahoogrupos.com.br, "Clayton Bonelli" <[EMAIL PROTECTED]> > escreveu > > Tenho uma tabela em um cliente que ao fazer um determinado select > (ver abaixo) o palno de execucao retornado foi: > > > > > ********************************************************************** > ********** > > select * > > from esanCobertura > > where cdEmpresa = 24 > > > > call count cpu elapsed disk query > current rows > > ------- ------ -------- ---------- ---------- ---------- ------ ---- > ---------- > > Parse 1 0.00 0.00 0 0 > 0 0 > > Execute 1 0.00 0.00 0 0 > 0 0 > > Fetch 113 0.01 0.05 0 1101 > 0 1677 > > ------- ------ -------- ---------- ---------- ---------- ------ ---- > ---------- > > total 115 0.01 0.05 0 1101 > 0 1677 > > > > Misses in library cache during parse: 1 > > Optimizer goal: CHOOSE > > Parsing user id: 61 (ANITEC) > > > > Rows Execution Plan > > ------- --------------------------------------------------- > > 0 SELECT STATEMENT GOAL: CHOOSE > > 0 TABLE ACCESS GOAL: ANALYZED (FULL) OF 'ESANCOBERTURA' > > > ********************************************************************** > ********** > > Mas a tabela possui um indice pelo campo "cdEmpresa". Por isso eu > tenho duas perguntas: > > > > 1) porque o plano de execucao nao foi do tipo "INDEX (RANGE SCAN)" ? > > Porque RANGE SCAN só é aplicável quando vc informa parte da chave, OU > quando vc faz uma comparação num intervalo de valores (com BETWEEN, > maior, menor, etc) : se vc informa a chave completa, ou é acesso by > index ou é scan na tabela, não faz sentido varrer parte de um índice > se vc informou a chave completa. Na verdade a pergunta derveria > ser "porque o índice não foi usado, se informei a chave ?", e a > resposta cai numa das possibilidades : > a) está havendo conversão implícita de valores (exemplo, o campo > indexado é não-numérico e vc informa um valor numérico) > OU > b) o índice está unusable, ou situação similar > OU, o mais provável > c) o CBO não tem a informação necessária, que vc TEM QUE passar pra > ele , ou seja : estatísticas frescas na tabela ** E ** no índice, > parâmetros optimizer_xx corretamente setados, parâmetros de > workarea/PGA/leitura multiblock apropriados, E histogramas se a > distribuição de dados não for regular). A possibilidade de > estatísticas ruins é ** MUITO ** alta aqui, pois não vejo informação > de cardinalidade no seu plano. > > > > > 2) o que exatamente significa o plano de execucao "TABLE ACCESS > GOAL: ANALYZED (FULL) OF 'ESANCOBERTURA' > > " ? > > Atenção aí, há ** várias ** informações nessa linha, não só uma : > GOAL:ANALYZED significa que, pra ESSE passo do plano (passo único do > plano, no caso), haviam algum tipo de estatística, nem que sejam > parciais coletadas pelo param statistics_level <> 'BASIC' . Para que > c) seja verdadeiro, essas estatísticas devem estar insuficientes, vc > deveria checar com o cliente de que maneira eles dizem que estão > coletando estats e quando, provavelmente essa rotina deles vai ter > que mudar. > Já o (FULL) do plano tá dizendo que ele está optando por ler na > íntegra (FULL TABLE SCAN) o objeto citado, é isso. > > []s > > Chiappa > > > > > > ------------------------------------------------------------------ -------------------------------------------------------- > Atenção! As mensagens deste grupo são de acesso público e de inteira responsabilidade de seus remetentes. > Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ > ------------------------------------------------------------------ -------------------------------------------------------- _____________________________________________________________________ > Area de download do grupo - http://www.4shared.com/dir/101727/a4dcc423 > > > Yahoo! Grupos, um serviço oferecido por: > PUBLICIDADE > > > > > -------------------------------------------------------------------- ---------- > Links do Yahoo! Grupos > > a.. Para visitar o site do seu grupo na web, acesse: > http://br.groups.yahoo.com/group/oracle_br/ > > b.. Para sair deste grupo, envie um e-mail para: > [EMAIL PROTECTED] > > c.. O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do Yahoo!. > > > > [As partes desta mensagem que não continham texto foram removidas] ---------------------------------------------------------------------------- ---------------------------------------------- Atenção! As mensagens deste grupo são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ ---------------------------------------------------------------------------- ----------------------------------------------______________________________ _______________________________________ Area de download do grupo - http://www.4shared.com/dir/101727/a4dcc423 Yahoo! Grupos, um serviço oferecido por: PUBLICIDADE <http://br.rd.yahoo.com/SIG=12f43sptj/M=384888.7585449.8468440.1588051/D=brc lubs/S=2137114689:HM/Y=BR/EXP=1134055426/A=3154524/R=0/SIG=12igfl26t/*http:/ www.momentumquiz.com.br/index.php?md5ref=372BBEE98E9544bd8B2F9E87847EEEBE> _____ Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> * O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do <http://br.yahoo.com/info/utos.html> Yahoo!. [As partes desta mensagem que não continham texto foram removidas] -------------------------------------------------------------------------------------------------------------------------- Atenção! As mensagens deste grupo são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ --------------------------------------------------------------------------------------------------------------------------_____________________________________________________________________ Area de download do grupo - http://www.4shared.com/dir/101727/a4dcc423 Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ <*> Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html