控制檔案記錄資料庫物理結構(資料檔、重做日誌、檢查點 SCN 等),堪比 Windows 登錄檔。單一控制檔損壞將導致資料庫無法啟動。備份雖可恢復,但意味著停機;多工復寫 則能在損壞瞬間自動切換,實現零停機高可用。
CONTROL_FILES 參數:
ALTER SYSTEM SET control_files=
'D:\oradata\ORCL\control01.ctl',
'E:\oradata\ORCL\control02.ctl',
'F:\oradata\ORCL\control03.ctl' SCOPE=SPFILE;
務必保留既有路徑,新增而非替換。
SHUTDOWN IMMEDIATE,並停止 OracleServiceSID、OracleHomeTNSListener 等服務。STARTUP,查詢 V$CONTROLFILE 確認所有路徑狀態為 VALID。| 錯誤 | 後果 | 對策 |
|---|---|---|
| ALTER SYSTEM 僅列新路徑 | 舊控制檔被遺棄,實際復本數減少 | 參數值必須包含「所有」預期路徑 |
| 復本放同一磁碟/目錄 | 單一磁碟故障導致全掛 | 強制跨磁碟、跨控制器 |
| 網路磁碟做同步復本 | 寫入延遲、甚至掛住 LGWR | 本地高速磁碟同步,遠端用 Data Guard 非同步傳送 |
| Linux/Windows 路徑假設錯誤 | 找不到檔案或啟動失敗 | 啟動前查詢 V$CONTROLFILE 確認實際生效路徑 |
控制檔多工復寫是「低成本、高收益」的可用性投資。正確規劃路徑、嚴謹執行步驟、定期驗證 V$CONTROLFILE 狀態,即可為資料庫穿上隱形防彈衣。