Pular para o conteúdo principal

read-by-other-session

Descrição do evento

O evento Read by Other Session ocorre quando uma sessão tenta acessar um bloco no Buffer Cache, mas o bloco ainda está sendo carregado do disco para a memória por outra sessão. Isso resulta em um atraso, pois a sessão precisa aguardar a conclusão do carregamento antes de prosseguir.

Impacto no banco de dados

Latência Aumentada: Consultas ou transações podem ser atrasadas, especialmente em sistemas com alta concorrência.
Gargalos no Acesso a Dados: Pode indicar que as mesmas tabelas ou índices estão sendo acessados repetidamente por várias sessões ao mesmo tempo. Pressão no I/O: A alta ocorrência deste evento pode indicar uma dependência excessiva de leituras no disco.

Causas comuns

Concorrência no Acesso a Blocos: Sessões múltiplas acessando os mesmos blocos frequentemente.

Falta de Cache no Buffer: O Buffer Cache é insuficiente para armazenar os blocos frequentemente acessados.

Consultas Não Otimizadas: Queries que realizam muitas leituras desnecessárias de disco ou escaneamento completo de tabelas.

Alta Atividade em Hotspots: Tabelas ou índices específicos estão sendo acessados de maneira intensiva, criando contenção.

Como reduzir ou resolver o evento

Aumentar o Buffer Cache: Ajuste o parâmetro DB_CACHE_SIZE para garantir que os blocos frequentemente acessados permaneçam na memória. Use V$DB_CACHE_ADVICE para avaliar o impacto de aumentar o tamanho do Buffer Cache.

Identificar e Resolver Hotspots: Identifique as tabelas ou índices mais acessados e otimize sua utilização. Considere particionamento de tabelas para distribuir a carga de acesso.

Otimizar Consultas SQL: Reduza leituras desnecessárias adicionando ou ajustando índices. Atualize estatísticas de tabelas para melhorar os planos de execução.

Distribuir Acessos em Horários Diferentes: Reorganize a execução de consultas ou relatórios intensivos para horários de menor concorrência.

Revisar Paralelismo: Certifique-se de que consultas paralelas não estão sobrecarregando o Buffer Cache.

Diagnóstico no Oracle

V$SESSION_WAIT: Monitore sessões aguardando pelo evento read by other session.
V$SYSTEM_EVENT: Identifique o impacto global deste evento no banco.
AWR Reports: Analise tendências de acesso a dados e ocorrência de contenção.
V$SQL: Identifique as consultas que mais realizam leituras e otimize-as.

DB Izzie - Database Session

Database Session