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

RMAN 備份報錯 ORA-19809/ORA-19804 完整排查與解決方案

     編輯:DB2 教學

RMAN 備份報錯 ORA-19809/ORA-19804 完整排查與解決方案

錯誤現象

RMAN-03009: failure of backup command on ORA_DISK_1 channel
ORA-19809: limit exceeded for recovery files
ORA-19804: cannot reclaim 2104777216 bytes disk space from 4322230272 limit

排查思路

  1. 檢查快速恢復區參數:
SQL> SHOW PARAMETER db_recovery_file_dest;
NAME                          TYPE        VALUE
db_recovery_file_dest         string      /u01/app/oracle/fast_recovery_area
db_recovery_file_dest_size    big integer 4122M
  1. 實際佔用空間:
[oracle@oracle ~]$ du -sm /u01/app/oracle/fast_recovery_area
3550  /u01/app/oracle/fast_recovery_area

根因分析

參數 db_recovery_file_dest_size = 4122M,實際已用 3550M,剩餘 ~572M。備份需 ~2G 空間,超出限制導致失敗。

解決步驟

-- 1. 調整保留策略(先設恢復窗口,再改冗余,觸發過期標記)
RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;
RMAN> CONFIGURE RETENTION POLICY TO REDUNDANCY 3;

-- 2. 擴大快速恢復區上限
SQL> ALTER SYSTEM SET db_recovery_file_dest_size = 7G SCOPE = BOTH;

-- 3. 備份歸檔日誌驗證
RMAN> BACKUP ARCHIVELOG ALL;

備份成功輸出節選

channel ORA_DISK_1: starting piece 1 at 05-MAY-15
...
piece handle=/u01/app/oracle/fast_recovery_area/ORACLE007/backupset/2015_05_05/o1_mf_annnn_TAG20150505T191655_bnk9o8p0_.bkp
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:35
Finished backup at 05-MAY-15

知識點補充:保留策略

  • RECOVERY WINDOW:基於時間窗口,如 5 DAYS,超過窗口的備份標記為 OBSOLETE。
  • REDUNDANCY:基於備份份數,如 3,保留最近 3 份,第 4 份完成時第 1 份過期。
  • 預設為 REDUNDANCY 1。可用 CLEAR 恢復預設,TO NONE 關閉過期判定。

關鍵參數速查

參數作用
db_recovery_file_dest快速恢復區路徑
db_recovery_file_dest_size快速恢復區大小上限
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved