DBAtlas · データベース運用アトラス

log file sync: 待機: コミット時に LGWR が redo をディスクにフラッシュするのをセッションが待っている

Oracle

意味

セッションが COMMIT すると、LGWR が redo レコードを redo ログファイルに書き込む (フラッシュする) のを待つ。この待機が多い場合はコミット遅延が発生している。

原因

遅い redo ログディスク (高い I/O 遅延)、コミット頻度が高すぎるアプリケーション (行ごとのコミット)、LGWR プロセスの CPU 圧迫、または非常に多い redo 量。

対処方法

AWR/Statspack で平均待機時間を測定する。redo ログファイルを高速・低遅延のディスク (SSD) に移す。アプリケーションの不要なコミット頻度を減らし、バッチ処理をまとめる。必要なら COMMIT_LOGGING/COMMIT_WAIT (commit_write) オプションを業務要件と照らして評価する。警告: NOWAIT/BATCH は耐久性を下げ、コミット済みに見えるトランザクションがクラッシュ時に失われる可能性がある。損失が許容される処理に限り、セッションまたは文レベルでのみ使用し、システム全体では有効にしない。LGWR とストレージの遅延を併せて調べる。

DBAtlas で開く →

同じデータベースの他の項目