Pular para o conteúdo principal

direct path read

Descrição do evento

O evento Direct Path Write ocorre quando uma sessão grava dados diretamente do PGA (Program Global Area) para o disco, ignorando o buffer cache. Esse tipo de escrita é usado em operações que processam grandes volumes de dados, como inserções em massa (bulk inserts), operações paralelas, ou durante cargas de dados com o uso de hints como APPEND.

Impacto no banco de dados

Pode gerar alta utilização de I/O, impactando o desempenho geral do sistema, especialmente em ambientes com limitações de armazenamento.
Pode causar lentidão em consultas ou transações simultâneas que dependem do mesmo subsistema de I/O.

Causas comuns

Inserções em Massa: Operações como INSERT /*+ APPEND */ que escrevem diretamente para o disco, ignorando o buffer cache.

Execução paralela: Consultas ou DML paralelas frequentemente usam gravações diretas para aumentar o desempenho.

Operações de exportação ou carga de Dados: Utilitários como Data Pump e ferramentas de ETL podem gerar esse tipo de espera.

Configuração de armazenamento: Subsistemas de armazenamento lentos ou com alta latência podem intensificar o impacto deste evento.

Como reduzir ou resolver o evento

Otimizar consultas e DML: Evite o uso desnecessário de APPEND ou paralelismo em cargas de dados menores. Divida grandes inserções ou cargas de dados em lotes menores para reduzir a pressão sobre o sistema de I/O.

Melhorar o subsistema de I/O: Utilize armazenamento rápido, como SSDs, para reduzir a latência de escrita. Distribua tabelas e índices em discos diferentes para balancear a carga.

Revisar configurações do Oracle: Verifique os parâmetros relacionados a paralelismo, como PARALLEL_MAX_SERVERS, para evitar sobrecarga. Ajuste configurações de segmentação, como TABLESPACE com atributos otimizados para escrita direta.

Gerenciar operações de carga: Execute operações de carga de dados em horários de baixa utilização do banco de dados para minimizar impacto em outras transações. Use direct path operations apenas onde necessário.

Diagnóstico no Oracle

se V$SYSTEM_EVENT para identificar o tempo gasto no evento em todo o sistema.
Consulte V$SESSION_WAIT para rastrear sessões específicas afetadas pelo evento.
Analise AWR Reports para entender tendências e identificar operações frequentes de escrita direta.

DB Izzie - Database Session

Database Session