Redo Log 完整生命週期管理指令集
1. 新增 Redo Log Group
ALTER DATABASE ADD LOGFILE GROUP 4 ('/u01/app/oracle/oradata/orcl/redo04.log') SIZE 50M REUSE;
3. 向現有 Group 新增 Member (多工)
ALTER DATABASE ADD LOGFILE MEMBER '/u01/app/oracle/oradata/orcl/redo04_01.log' REUSE TO GROUP 4;
5. 刪除 Group
ALTER DATABASE DROP LOGFILE MEMBER '/u01/app/oracle/oradata/orcl/redo04_01.log';
7. 遷移 Redo Log 檔案位置 (需停機)
SHUTDOWN IMMEDIATE
- OS 層複製/移動檔案至新路徑
STARTUP MOUNT
ALTER DATABASE RENAME FILE '/old/path/redo04.log' TO '/new/path/redo04.log';
ALTER DATABASE OPEN
概念補充:Online Redo vs Archive Redo
| 項目 | Online Redo Log | Archive Redo Log |
| 用途 | Instance Crash Recovery (掉電/Abort 後自動前滾) | Media Recovery (磁碟損壞、檔案遺失時點恢復) |
| 循環使用 | 是 (Group 輪寫) | 否 (永久保留直到備份/刪除) |
| 最小 Group 數 | 2 | 視保留策略 |
| 啟用方式 | 預設啟用 | ARCHIVELOG 模式 + LOG_ARCHIVE_DEST |
最佳實務
- 每 Group 至少 2 Members (不同磁碟/控制器),防單點故障。
- Group 數量建議 4-6,避免 Log Switch 過頻 (Checkpoint 衝擊) 或過疏 (恢復時間長)。
- 尺寸建議:使 Log Switch 間隔 15-30 分鐘 (觀察
V$LOG_HISTORY)。
- 歸檔目的地至少雙路徑 (Fast Recovery Area + 異地備份)。
- 定期監控
V$LOG、V$ARCHIVE_DEST_STATUS。