Oracle 資料庫提供兩種重做日誌運作模式:**非歸檔模式** 與 **歸檔模式**。選擇哪種模式直接決定資料庫的可恢復性等級與備份策略。
| 維度 | 非歸檔模式 (NOARCHIVELOG) | 歸檔模式 (ARCHIVELOG) |
|---|---|---|
| 重做日誌覆蓋 | 允許直接覆蓋 | 必須歸檔成功才能覆蓋 |
| 資料恢復能力 | 僅支援至最後一次冷備份 | 支援任意時間點恢復 (PITR) |
| 熱備份 | 不支援 | 支援 (RMAN、Begin/End Backup) |
| Data Guard / 串流複寫 | 不可用 | 必備條件 |
| 儲存成本 | 低 | 需規劃歸檔空間、刪除策略 |
| 適用場景 | 測試、開發、可重建資料 | 生產、核心業務、高可用架構 |
LOG_ARCHIVE_MAX_PROCESSES 控制 (範圍 1-10,舊版參數名 LOG_ARCHIVE_PROCESSES)。SELECT name, value FROM v$parameter WHERE name='log_archive_max_processes';ALTER SYSTEM SET log_archive_max_processes=10 SCOPE=BOTH; (需重啟生效 SCOPE=SPFILE,或動態 SCOPE=MEMORY)。-- 啟用歸檔模式 (需資料庫 MOUNT 狀態) SHUTDOWN IMMEDIATE; STARTUP MOUNT; ALTER DATABASE ARCHIVELOG; ALTER DATABASE OPEN; -- 設定歸檔目的地 (可多路鏡像) ALTER SYSTEM SET log_archive_dest_1='LOCATION=/u01/archivelog' SCOPE=BOTH; ALTER SYSTEM SET log_archive_dest_2='LOCATION=/u02/archivelog' SCOPE=BOTH; ALTER SYSTEM SET log_archive_format='arch_%t_%s_%r.dbf' SCOPE=SPFILE; -- 檔名格式 -- 手動觸發歸檔 (切換日誌) ALTER SYSTEM ARCHIVE LOG CURRENT; -- 或 ALTER SYSTEM SWITCH LOGFILE; -- 查看歸檔狀態 ARCHIVE LOG LIST; SELECT * FROM v$archive_dest_status; SELECT * FROM v$archived_log ORDER BY completion_time DESC;
SCOPE=MEMORY:僅修改當前執行實例參數,重啟失效。SCOPE=SPFILE:修改伺服器參數檔,下次啟動生效。SCOPE=BOTH:同時修改當前實例與 SPFILE (需 SPFILE 存在)。DB_RECOVERY_FILE_DEST (Fast Recovery Area) 統一管理歸檔、備份、控制檔備份,配合 DB_RECOVERY_FILE_DEST_SIZE 限制總大小。CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON ALL STANDBY BACKED UP 2 TIMES TO DEVICE TYPE DISK;V$FLASH_RECOVERY_AREA_USAGE 空間使用率,設定告警閾值 (如 80%)。