V$LOGSELECT group#, sequence#, members, bytes, status, archived FROM v$log;
| STATUS | 含義 |
|---|---|
| CURRENT | LGWR 正在寫入 |
| ACTIVE | 恢復需要、正在歸檔或未歸檔 |
| INACTIVE | 恢復不需、已歸檔(歸檔模式) |
| UNUSED | 新增後從未使用 |
V$LOGFILESELECT * FROM v$logfile;
| STATUS | 含義 |
|---|---|
| (空白) | 正常使用中 |
| STALE | 內容不完整(如新增 Member 尚未同步) |
| INVALID | 無法存取(路徑錯誤、磁碟故障) |
| DELETED | 已標記刪除 |
-- 新增 Group 4,雙 Member
ALTER DATABASE ADD LOGFILE GROUP 4
('/u01/oradata/orcl/redo04a.log', '/u02/oradata/orcl/redo04b.log') SIZE 100M;
-- 刪除 Group 4(需 INACTIVE/UNUSED、已歸檔)
ALTER DATABASE DROP LOGFILE GROUP 4;
限制:CURRENT/ACTIVE/未歸檔 Group 不可刪。需 ALTER SYSTEM SWITCH LOGFILE 切換後再刪。
-- 給 Group 1 新增 Member
ALTER DATABASE ADD LOGFILE MEMBER '/u03/oradata/orcl/redo01c.log' TO GROUP 1;
-- 刪除 Member
ALTER DATABASE DROP LOGFILE MEMBER '/u03/oradata/orcl/redo01c.log';
限制:每 Group 至少 1 Member;CURRENT Group Member 不可刪;ACTIVE/未歸檔 Member 不可刪。
ERROR at line 1:
ORA-00362: log member required to form valid logfile in group 4
ORA-01517: log member: '.../redo041.log'
原因:Group 4 其他 Member 狀態異常(INVALID/STALE)。
解決:連續 ALTER SYSTEM SWITCH LOGFILE 幾次,讓 Group 4 狀態轉為正常,再嘗試刪除。
Redo Log 是恢復核心。日常運維重點:監控 V$LOG 狀態流轉、確保 Member 多路徑冗餘、歸檔不延遲、定期檢查 Member 可讀性。變更操作務必在低峰執行,並備份控制檔。