[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
Fórum Nerv Informática • Exibir tópico - Coleta de estatisticas
Índice do fórum Treinamentos Avançados Treinamento Oracle Performance Diagnostics & Tuning Coleta de estatisticas

Coleta de estatisticas

Dúvidas, dicas e atualizações sobre o Treinamento Oracle Performance Diagnostics & Tuning.

Mensagem Ter Mar 15, 2016 10:45 am

Mensagens: 0

Mensagem Ter Mar 15, 2016 6:35 pm
portilho Site Admin

Mensagens: 482
Desculpe, não tinha visto que tinha uma página 2 neste tópico, e coloquei um :-D para marcar como que eu respondi por último.
Parece sim ser o registro das operações automáticas de manutenção.

Mensagem Qui Mar 17, 2016 10:11 am

Mensagens: 0
Quando coletar as estatísticas?

Na documentação temos a seguinte afirmação:


13.3.3 When to Gather Statistics

"When gathering statistics manually, you not only need to determine how to gather statistics, but also when and how often to gather new statistics.

For an application in which tables are incrementally modified, you may only need to gather new statistics every week or every month. The simplest way to gather statistics in these environments is to use a script or job scheduling tool to regularly run the GATHER_SCHEMA_STATS and GATHER_DATABASE_STATS procedures. The frequency of collection intervals should balance the task of providing accurate statistics for the optimizer against the processing overhead incurred by the statistics collection process.

For tables that are substantially modified in batch operations, such as with bulk loads, gather statistics on these tables as part of the batch operation. Call the DBMS_STATS procedure as soon as the load operation completes.

Sometimes only a single partition is modified. In such cases, you can gather statistics only on the modified partitions rather than on the entire table. However, gathering global statistics for the partitioned table may still be necessary."

http://docs.oracle.com/cd/E25178_01/ser ... htm#i41496

Ou seja, não existe um valor default, se houver 10%, 20%, 3% de alteração então colete.

Na sua experiência, com qual frequência você costuma coletar?

Mensagem Qui Mar 17, 2016 11:50 am
portilho Site Admin

Mensagens: 482
Acho que temos que partir sempre do ideal.
O ideal seria coletar estatísticas de todos os objetos sempre que estes tivessem alguma (qualquer uma) alteração, em 100%.
Como isto não é possível por conta da carga da coleta, coloca-se estas regras, sendo que a padrão é quando o objeto atingir 10% de alterações. E a coleta será feita apenas no próximo agendamento, o que já pode dar margem a erros até lá.
Estas regras atendem bem, digamos, 85% dos casos. É quando foge disso que temos problemas.
Por exemplo, imagine uma tabela de Notas Fiscais, com 10.000.000.000 de linhas. Ela só receberá uma nova coleta quando forem adicionadas mais 1.000.000.000. E se nesse meio tempo, for adicionado um novo vendedor, ou um novo produto, este dado não será refletido nas estatísticas.
Então, eu gosto de trabalhar pela regra, e vou adicionando as exceções conforme os problemas vão aparecendo. Nessa hora, o DBA tem que conhecer o dado, o modelo, não tem jeito.

Mensagem Qui Mar 17, 2016 6:28 pm

Mensagens: 0
Legal! Concordo contigo, obrigado!

Mensagem Sex Mar 18, 2016 10:07 pm
portilho Site Admin

Mensagens: 482
:-D

Anterior

Voltar para Treinamento Oracle Performance Diagnostics & Tuning

cron