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

Oracle 歸檔模式完全指南:啟用、查詢、參數配置與 10g/11g/12c/19c 版本差異

     編輯:Oracle 資料庫基礎

兩大運行模式對比

特性NOARCHIVELOG (非歸檔)ARCHIVELOG (歸檔)
線上重做日誌覆寫允許循環覆寫必須歸檔後才能覆寫
時間點恢復 (PITR)不支援支援
線上熱備份不支援支援
Data Guard / GoldenGate不可用必備前提
適用場景測試環境、可接受資料遺失的非核心庫生產環境、核心業務、合規要求

查詢當前模式

SQL> ARCHIVE LOG LIST
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     15
Next log sequence to archive   17
Current log sequence           17

啟用歸檔模式標準流程 (需停機)

SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE OPEN;
-- 驗證
ARCHIVE LOG LIST;

關鍵參數配置:版本演進脈絡

10g 以前:手動啟用自動歸檔

-- init.ora / spfile
log_archive_start = TRUE
log_archive_dest_1 = 'LOCATION=/u01/arch'
log_archive_format = 'arch_%t_%s_%r.arc'

或啟動後手動執行:ARCHIVE LOG START (重啟失效)。

10g/11g:Flash Recovery Area (FRA) 統一管理

-- 必設雙參數
db_recovery_file_dest = '/u01/fra'
db_recovery_file_dest_size = 20G

-- 可選:額外歸檔目的地 (多路徑冗餘)
log_archive_dest_2 = 'LOCATION=/u02/arch VALID_FOR=(ONLINE_LOGFILE,PRIMARY_ROLE)'
log_archive_dest_state_2 = ENABLE

FRA 自動管理歸檔日誌、備份集、Flashback Log,空間壓力時自動刪除過期檔案 (依保留策略)。

12c/18c/19c:FRA 增強 + PDB 級別配置

  • CDB 級別設定 FRA,PDB 共享或獨立配額
  • LOG_ARCHIVE_DEST_n 支援 SERVICE= 直接傳送至備庫
  • ALTER SYSTEM SET db_recovery_file_dest_size=50G SCOPE=BOTH; 動態擴容無需重啟

常見操作備忘

ALTER SYSTEM ARCHIVE LOG CURRENT;ARCHIVE LOG STOP (10g 前) / ALTER SYSTEM SET log_archive_dest_state_n=DEFERARCHIVE LOG START / ALTER SYSTEM SET log_archive_dest_state_n=ENABLESELECT * FROM v$archive_gap;DELETE ARCHIVELOG ALL BACKED UP 2 TIMES TO DEVICE TYPE DISK;

停用歸檔模式 (謹慎操作)

SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER DATABASE NOARCHIVELOG;
ALTER DATABASE OPEN;

警告:停用後喪失 PITR 能力,確認已有完整冷備份再執行。

最佳實踐清單

  1. 生產庫 強制 ARCHIVELOG,FRA 磁碟與資料檔隔離 (不同 LUN/儲存陣列)
  2. 設定 db_recovery_file_dest_size 留 20% 頭部空間,啟用 OEM/Cloud Control 監控告警
  3. 配置雙歸檔目的地:本地 FRA + 遠端 NFS/備庫
  4. 歸檔命名包含 %t (線程)、%s (序列)、%r (重置日誌 ID) 確保唯一
  5. 定期 CROSSCHECK ARCHIVELOG ALL + DELETE EXPIRED 清理元數據
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
操作命令
手動切換日誌並觸發歸檔
暫停自動歸檔
恢復自動歸檔
查看歸檔缺口
強制刪除已備份歸檔 (RMAN)