首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

Oracle Redo Log 管理全攻略:查詢、切換、歸檔、組維護與移動

     編輯:Oracle 資料庫基礎

前言

Redo Log 是 Oracle 恢復機制核心,DBA 必須熟練掌握日誌組狀態查詢、強制切換、歸檔模式確認、組/成員增刪與檔案移動操作。本文彙整 10 大常用管理指令。

1. 查詢日誌組狀態


SELECT group#, sequence#, bytes/1024/1024 AS size_mb, members, archived, status, first_change#, first_time
FROM   v$log;

STATUS:CURRENT (正在寫入)、ACTIVE (需歸檔)、INACTIVE (可覆寫)、UNUSED (新建未用)。

2. 查詢日誌組對應的物理檔案


SELECT group#, member, type, status, is_recovery_dest_file
FROM   v$logfile
ORDER BY group#;

3. 強制日誌切換 (觸發歸檔/檢查點)


ALTER SYSTEM SWITCH LOGFILE;

4. 查詢歷史日誌切換記錄


SELECT sequence#, first_time, next_time, blocks, block_size
FROM   v$log_history
ORDER BY first_time DESC;

5. 確認資料庫歸檔模式


SELECT dbid, name, created, log_mode FROM v$database;
-- LOG_MODE: ARCHIVELOG / NOARCHIVELOG

6. 查詢歸檔日誌詳細資訊


SELECT recid, stamp, thread#, sequence#, name, completion_time, creator
FROM   v$archived_log
ORDER BY completion_time DESC;

7. 新增/刪除日誌組


-- 新增 Group 3,兩個成員,各 100MB
ALTER DATABASE ADD LOGFILE GROUP 3
  ('/u01/oradata/ORCL/redo03a.log', '/u02/oradata/ORCL/redo03b.log') SIZE 100M;

-- 刪除 Group 3 (需為 INACTIVE/UNUSED 狀態)
ALTER DATABASE DROP LOGFILE GROUP 3;

8. 新增/刪除日誌成員 (單一檔案)


-- 為 Group 1 新增鏡像成員
ALTER DATABASE ADD LOGFILE MEMBER '/u03/oradata/ORCL/redo01c.log' TO GROUP 1;

-- 移除特定成員 (Group 至少保留 1 個成員)
ALTER DATABASE DROP LOGFILE MEMBER '/u03/oradata/ORCL/redo01c.log';

9. 移動日誌檔案 (需 OS 層面先移動檔案)


-- 1. OS 層 mv /cp 檔案至新路徑
-- 2. 資料庫層重命名
ALTER DATABASE RENAME FILE '/u01/oradata/ORCL/redo01a.log' TO '/u03/oradata/ORCL/redo01a.log';

10. 清除損壞/遺失的日誌檔案 (最後手段)


-- 僅當無法用 DROP LOGFILE GROUP/MEMBER 時使用 (如成員遺失導致無法正常刪除)
ALTER DATABASE CLEAR LOGFILE '/u01/oradata/ORCL/redo01a.log';
-- 若該組為 CURRENT/ACTIVE 且未歸檔,需加 UNARCHIVED 關鍵字 (會導致不可恢復)
ALTER DATABASE CLEAR UNARCHIVED LOGFILE '/u01/oradata/ORCL/redo01a.log';

最佳實務建議

  • **多路徑鏡像**:每組至少 2 個成員,放置於不同磁碟/控制器。
  • **大小一致**:所有組大小相同,避免切換頻率不均。
  • **歸檔模式生產環境必開**:配合 RMAN 備份策略。
  • **監控切換頻率**:建議 15~30 分鐘切換一次,過頻影響效能 (Checkpoint 衝刷)、過稀增加恢復時間目標 (RTO)。
  • **Fast Recovery Area (FRA)**:啟用 FRA 統一管理歸檔、備份、閃回日誌,簡化路徑維護。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved