Backup

由於無法回收磁碟空間,恢復文件超出限制導致備份失敗RM_一個_-03009,奧拉-19809,奧拉-19804____R米一種ñ−03009,○R一種−19809,○R一種−19804RMAN-03009,ORA-19809,ORA-198…

  • December 17, 2019

雖然我嘗試使用命令進行增量備份級別 0

RMAN>備份增量0級數據庫加歸檔日誌;

,遇到了這個錯誤。

RMAN-00571:============================================== ==============
RMAN-00569:=============== 錯誤消息堆棧跟隨 ===============
RMAN-00571:============================================== ==============

RMAN-03009:ORA_DISK_1 通道上的備份命令失敗,時間為 2013 年 8 月 27 日 15:58:
05
ORA-19809: 超出恢復文件的限制
ORA-19804: 無法從 4327473152 限制中回收 52428800 字節磁碟空間

當我瀏覽一些論壇時,我找到了很多解決方案,但是當我查看他們的情況時,它並不匹配。

  • 一種解決方案是增加 db_recovery 空間。所以我檢查了空間並得到了這個結果。

db_recovery 大小

SQL> 顯示參數 db_recovery;

名稱類型值
------------------------------------ ----------- ------------------------------
db_recovery_file_dest 字元串 /u01/app/oracle/fast_recovery_
區域
db_recovery_file_dest_size 大整數 4127M

空間使用

SQL> select SPACE_USED,SPACE_LIMIT from v$recovery_file_dest;

SPACE_USED SPACE_LIMIT
---------- -----------
800155136 4327473152

可用空間

SQL>選擇
NAME,
TO_CHAR(SPACE_LIMIT, '999,999,999,999') AS SPACE_LIMIT,
TO_CHAR(SPACE_LIMIT - SPACE_USED + SPACE_RECLAIMABLE,
'999,999,999,999') 作為 SPACE_AVAILABLE,
ROUND((SPACE_USED - SPACE_RECLAIMABLE)/SPACE_LIMIT * 100, 1)
AS PERCENT_FULL
從 V$RECOVERY_FILE_DEST;

NAME
--------------------------------------------------------------------------------
SPACE_LIMIT SPACE_AVAILABLE PERCENT_FULL
---------------- ---------------- ------------
/u01/app/oracle/fast_recovery_area
4,327,473,152 3,488,460,800 19.4

從 RMAN

RMAN> 全部顯示;

具有 db_unique_name AGGE 的數據庫的 RMAN 配置參數是:
將保留政策配置為冗餘 1;# 預設
配置備份優化關閉;# 預設
將預設設備類型配置到磁碟;# 預設
配置控製文件自動備份關閉;# 預設
將設備類型磁碟的控製文件自動備份格式配置為“%F”;# 預設
配置設備類型磁碟並行 1 備份類型到備份;# 預設
將設備類型磁碟的數據文件備份副本配置為 1;# 預設
將設備類型磁碟的存檔日誌備份副本配置為 1;# 預設
將 MAXSETSIZE 配置為無限;# 預設
為數據庫關閉配置加密;# 預設
配置加密算法“AES128”;# 預設
配置壓縮算法“基本”作為發布“預設”優化負載真;# 預設
將歸檔日誌刪除策略配置為無;# 預設
將快照控製文件名稱配置為“/u01/app/oracle/product/11.2.0/db_1/dbs/snapcf_agge.f”;# 預設

我應該怎麼做才能解決這個問題?即使我有這麼多空間,我是否還必須增加恢復空間?

在 RHEL5 中使用 ORACLE 11G R2

包括db_recovery_file_dest各種文件,包括線上和歸檔重做日誌文件;查看 Oracle Backup and Recovery 使用者指南第 5 章,找出最佳解決方案;禁用db_recovery_file_dest不是一個好主意。你可以試試

RMAN> report obsolete;

RMAN 命令查看可以刪除的內容。然後做一個delete obsolete刪除它們。您是否定義了任何保證還原點?

RMAN> list restore point all;

如果您看到任何類型為 GUARANTEED 的結果,如果不再需要它們,請將它們刪除:

SQL> DROP RESTORE POINT before_app_upgrade;

是否啟用了閃回數據庫?

我面臨著完全相同的問題。我也嘗試了上面提到的選項,但無濟於事。最後,按照朋友的建議,禁用db_recovery_file_dest解決了我的問題。

SQL> alter system set db_recovery_file_dest='' scope=both;

引用自:https://dba.stackexchange.com/questions/48800