Pergunta

Estou confuso porque as estatísticas não são recolhidos para algumas tabelas em esquemas.Estas tabelas foram analisadas pela última vez durante a noite, eu suponho que ele tinha sido feito pelo trabalho auto otimizador de estatísticas do trabalho qual é habilitado.Eu percebi isso quando tenta coletar estatísticas manualmente pelo recebimento:

ora-20005 object statistics are locked

depois de Tuning Advisor ordenou que reúne estatísticas para consulta de execução demorada.

O que poderia bloqueado esta estatística?Poderia ser padrão desabilitado?Eu suponho que ninguém fez isso porque não há nenhum benefício de tal comportamento, em perspectiva de longo prazo.


Depois de algumas pesquisas eu encontrei resposta parcial:https://blogs.oracle.com/optimizer/entry/maintaining_statistics_on_large_partitioned_tables

Eu também achei descobriu que a estatística está bloqueado para a tabela particionada de particionamento procedimento que é executado a cada noite, há uma linha:

dbms_stats.lock_table_stats(...)

Eu me pergunto é boa ou má prática?Eu suponho que há algum tempo era bom, mas desde que a Oracle 11g tem nenhum sentido.Vou tentar introduzir uma abordagem Incremental a Manutenção de Estatísticas (docs) em vez de desactivar global estatística de reunião que eu acho que é PRETERIDO idéia...

Foi útil?

Solução

Por que você acredita que "não tem sentido"?

Fecho estatísticas não é nem boa, nem má prática.Tudo depende de qual você está fecho-los.Presumivelmente, alguém no passado identificado algum tipo de problema que fecho as estatísticas resolvido.Você precisa descobrir qual é o problema que era e se ela ainda é um problema.Se você tem tabelas com grandes quantidades de dados transitórios, por exemplo, você pode querer coletar estatísticas quando as mesas são relativamente completos de bloqueio e as estatísticas, de modo a que o automáticas de coleta de estatísticas do trabalho não executar acidentalmente quando as tabelas são quase vazio e causa muito caro verificações de tabela mais tarde, quando as mesas estão cheias.

Se o problema que estava sendo resolvido foi a de que a coleta de estatísticas globais sobre a tabela de partições foi lento, em seguida, usando potencialmente incremental a manutenção de estatísticas seria uma solução melhor.Dado que incremental a manutenção de estatísticas não é o comportamento padrão, no entanto, seria incorreto considerar abordagens alternativas "preterido".Especialmente quando você tem uma solução que atenda às suas necessidades.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top