平台:SunOS 5.8,資料庫:8.1.5.0.0
資料庫回應緩慢,應用請求無法返回,業務操作停頓。
SQL> SELECT * FROM V$LOG;
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIM
1 1 520403 31457280 1 NO ACTIVE ...
2 1 520404 31457280 1 NO ACTIVE ...
3 1 520405 31457280 1 NO ACTIVE ...
4 1 520406 31457280 1 NO CURRENT ...
5 1 520398 31457280 1 NO ACTIVE ...
6 1 520399 31457280 1 NO ACTIVE ...
7 1 520400 104857600 1 NO ACTIVE ...
8 1 520401 104857600 1 NO ACTIVE ...
9 1 520402 104857600 1 NO ACTIVE ...
日誌切換觸發檢查點,CKPT 通知 DBWR 寫髒資料。若 DBWR 寫入過慢,檢查點未完成而日誌組用盡,資料庫停頓,日誌記錄 CHECKPOINT NOT COMPLETE,V$SESSION_WAIT 顯示大量 LOG FILE SWITCH (CHECKPOINT INCOMPLETE) 等待。
PS -EF | GREP ORA_
-- DBWR PID 2266
TOP
-- PID 2266 CPU 僅 0.18%,並不忙碌
DBWR 不忙但檢查點無法完成 → 瓶頸極可能在 I/O。
IOSTAT -XN 3
-- 主要資料卷 c1t1d0 %b 持續 99~100,寫入速度僅 ~500KB/s
-- 正常 T3 陣列寫入可達 10MB/s,隨機寫入 1-2MB/s
確認為硬碟損壞,RAID5 組中一顆硬碟故障。更換後系統恢復正常。