DBAtlas · Atlas de operações de banco de dados

Coletar estatísticas (DBMS_STATS)

OracleManutenção

Comando

-- Single table (including cascaded indexes):
EXEC DBMS_STATS.GATHER_TABLE_STATS(ownname => 'CUSTOMER_APP', tabname => 'CUSTOMER', cascade => TRUE, estimate_percent => DBMS_STATS.AUTO_SAMPLE_SIZE, degree => 4);

-- Whole schema:
EXEC DBMS_STATS.GATHER_SCHEMA_STATS(ownname => 'CUSTOMER_APP', estimate_percent => DBMS_STATS.AUTO_SAMPLE_SIZE, cascade => TRUE, degree => 4);

-- Whole database (run only in a maintenance window / off-peak hours):
EXEC DBMS_STATS.GATHER_DATABASE_STATS(estimate_percent => DBMS_STATS.AUTO_SAMPLE_SIZE, degree => 4);

O que faz

Coleta estatísticas de tabelas/índices para o otimizador; garante que planos de execução corretos sejam gerados.

Quando usar

Após grandes DML/cargas, quando os planos regridem, após um novo índice/tabela.

Atenção

Mudanças de estatísticas podem alterar planos de execução; em sistemas críticos, teste/compare primeiro com o AWR. O paralelismo DEGREE consome CPU. GATHER_DATABASE_STATS é pesado em horários de pico.

Abrir no DBAtlas →

Relacionados