DBAtlas · 데이터베이스 운영 아틀라스

log file sync: 대기: 커밋 시 LGWR이 redo를 디스크에 플러시하기를 세션이 기다림

Oracle

의미

세션이 COMMIT하면 LGWR이 redo 레코드를 redo log 파일에 기록(flush)하기를 기다린다. 이 대기가 높으면 커밋 지연이 있다는 뜻이다.

원인

느린 redo log 디스크(높은 I/O 지연), 너무 자주 커밋하는 애플리케이션(row-by-row commit), LGWR 프로세스의 CPU 압박, 또는 매우 많은 redo 양.

해결 방법

AWR/Statspack으로 평균 대기 시간을 측정한다. redo log 파일을 빠르고 지연이 낮은 디스크(SSD)로 옮긴다. 애플리케이션의 불필요한 커밋 빈도를 줄이고 배치 작업을 묶는다. 필요하면 업무 요구 사항에 비추어 COMMIT_LOGGING/COMMIT_WAIT(commit_write) 옵션을 검토한다. 경고: NOWAIT/BATCH는 내구성을 낮추며, 커밋된 것으로 보이는 트랜잭션이 크래시 시 유실될 수 있다. 유실을 감수할 수 있는 작업에 한해 세션 또는 문장 수준에서만 사용하고, 시스템 전체에 적용하지 않는다. LGWR과 스토리지 지연을 함께 분석한다.

DBAtlas에서 열기 →

같은 데이터베이스의 다른 항목