Pular para o conteúdo principal

direct path read

Descrição do evento

O evento Direct Path Read ocorre quando uma sessão lê dados diretamente do disco para o PGA (Program Global Area), ignorando o buffer cache. Esse tipo de leitura é usado principalmente em operações que processam grandes volumes de dados, como varreduras completas de tabelas ou índices (full table scans), operações paralelas ou consultas que utilizam funções analíticas.

Impacto no banco de dados

Pode consumir altos recursos de I/O, especialmente em sistemas com grandes volumes de dados.
Se as leituras forem lentas, isso pode causar aumento na latência de consultas e degradação no desempenho geral da aplicação.

Causas comuns

Operações de leitura em massa: Consultas que realizam leituras de grandes quantidades de dados, como tabelas não indexadas.

Falta de índices: Consultas que precisam realizar full table scans devido à ausência ou má configuração de índices.

Execução paralela: Consultas paralelas frequentemente usam leitura direta para maximizar o desempenho.

Configuração do Oracle: Parâmetros como DB_FILE_DIRECT_IO_COUNT ou o uso de hints que forçam a leitura direta.

Como reduzir ou resolver o evento

Otimizar consultas SQL: Verifique e implemente índices adequados para evitar full table scans desnecessários. Use estatísticas atualizadas para ajudar o otimizador a escolher o plano de execução correto.

Particionamento de tabelas: Divida tabelas grandes em partições para reduzir a quantidade de dados processados em uma consulta.

Revisar Execução paralela: Avalie se o paralelismo está sendo usado de forma eficiente. Limite o número de processos paralelos se o sistema de I/O estiver sobrecarregado.

Melhorar infraestrutura de I/O:

Garanta que o subsistema de armazenamento seja rápido e eficiente, especialmente para grandes volumes de leitura. Distribua os dados em discos diferentes para balancear a carga.

Ajustar configurações do Oracle: Verifique os parâmetros relacionados à leitura direta, como DB_FILE_DIRECT_IO_COUNT, para otimizar o desempenho.

Diagnóstico no Oracle

Consulte V$SYSTEM_EVENT para identificar o tempo total gasto neste evento.
Use V$SESSION_WAIT para monitorar sessões específicas que estão enfrentando esse tipo de espera.
Relatórios AWR e ADDM para uma visão histórica e recomendações automáticas.

DB Izzie - Database Session

Database Session