Pular para o conteúdo principal

log file sync

Descrição do evento

O evento Log File Sync ocorre quando uma sessão aguarda a confirmação de que os dados no log buffer foram gravados no disco pelo processo LGWR (Log Writer). Isso geralmente acontece durante operações de COMMIT ou ROLLBACK, garantindo que todas as transações sejam gravadas de forma persistente nos redo logs.

Impacto no banco de dados

Atrasos em Transações: Operações que exigem COMMIT podem ficar lentas, impactando aplicações OLTP (Online Transaction Processing).
Redução do Throughput: Alta latência nesse evento pode limitar o número de transações por segundo (TPS).
Dependência do Evento Log File Parallel Write: O tempo de espera neste evento depende diretamente da rapidez com que os redo logs são gravados no disco.

Causas comuns

Alta Frequência de Commits: Aplicações que realizam muitos COMMITs, especialmente em transações pequenas, aumentam a carga no log buffer e no LGWR.

Desempenho Lento do Disco: O subsistema de I/O onde os redo logs estão armazenados pode ser incapaz de acompanhar o volume de gravações.

Tamanho Pequeno dos Redo Logs: Redo logs pequenos geram ciclos de gravação frequentes, aumentando a carga no LGWR.

Concorrência de Sessões: Muitas sessões aguardando gravações simultâneas podem causar contenção no log buffer e no LGWR.

Como reduzir ou resolver o evento

Reduza a Frequência de Commits: Analise a aplicação para agrupar várias operações em uma única transação. Evite COMMIT desnecessários dentro de loops.

Melhore o Desempenho do Subsystem de I/O: Use discos rápidos, como SSDs ou sistemas NVMe, para armazenar redo logs. Dedique discos exclusivamente para os redo logs, evitando competição com outras operações de I/O.

Ajuste a Configuração dos Redo Logs: Aumente o tamanho dos redo logs para reduzir a frequência de gravações. Configure múltiplos redo log groups para balancear a carga.

Aumente o Tamanho do Log Buffer: Ajuste o parâmetro LOG_BUFFER para garantir espaço suficiente para operações de transações intensivas.

Planeje Operações de Alta Carga: Realize operações intensivas em gravação, como cargas de dados e backups, fora de horários de pico.

Diagnóstico no Oracle

V$SYSTEM_EVENT: Identifique o tempo total gasto no evento log file sync.
V$SESSION_WAIT: Monitore sessões que estão aguardando por este evento.
AWR Reports: Analise o impacto ao longo do tempo e identifique padrões.
V$LOG e V$LOGFILE: Consulte informações sobre redo logs e frequência de gravações.
V$SYSMETRIC_HISTORY: Monitore métricas de I/O e tempo de espera para gravações no log.

DB Izzie - Database Session

Database Session