Coleta de estatísticas automática deve ser suficiente para a maioria dos objetos de banco de dados que estão sendo modificados a uma velocidade moderada. No entanto, há casos em que a coleta de estatísticas automática pode não ser adequada. Como a coleta de estatísticas automática é executada durante uma janela de tempo durante um período de ociosidade, as estatísticas sobre as tabelas que são significativamente modificados durante o dia podem tornar-se obsoletas. Normalmente, isso pode acontecer em dois casos:
• Tabelas voláteis foram excluídas ou truncadas e posteriormente reconstruídas durante o decorrer do dia.
• Objetos que foram alvos de grandes cargas, que agregam 10% ou mais ao tamanho total do objeto.
Caso seja verificada a necessidade da coleta manual pode-se utilizar o script em anexo que cria uma procedure de coleta de estatísticas e agenda um job para ser executado periodicamente. O script anexo realiza o agendamento da coleta manual de todo o banco.
Ao ser executado o script os valores next_date e interval devem ser ajustados:
next_date => to_date('17-10-2013 22:00:00', 'dd-mm-yyyy hh24:mi:ss'') interval => 'trunc(SYSDATE+1)+22/24''); |