ORA-19809: 超出了恢復檔案數的限制故障處理例項
SQL> startup
ORACLE instance started.
Total System Global Area 263049216 bytes
Fixed Size 2212448 bytes
Variable Size 234884512 bytes
Database Buffers 20971520 bytes
Redo Buffers 4980736 bytes
Database mounted.
ORA-03113: 通訊通道的檔案結尾
程式 ID: 5801
會話 ID: 1 序列號: 5
[oracle@web trace]$ tail -f alert_orcl.log
ORA-19809: 超出了恢復檔案數的限制
ORA-19804: 無法回收 44062720 位元組磁碟空間 (從 4070572032 限制中)
ARCH: Error 19809 Creating archive log file to '/opt/oracle/flash_recovery_area/ORCL/archivelog/2011_11_04/o1_mf_1_482_%u_.arc'
Errors in file /opt/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_6141.trc:
ORA-16038: 日誌 2 sequence# 482 無法歸檔
ORA-19809: 超出了恢復檔案數的限制
ORA-00312: 聯機日誌 2 執行緒 1: '/opt/oracle/oradata/orcl/redo02.log'
USER (ospid: 6141): terminating the instance due to error 16038
Fri Nov 04 15:28:21 2011
Instance terminated by USER, pid = 6141
Fri Nov 04 15:30:35 2011
透過這裡的錯誤資訊,可以看到是歸檔歸檔不了了,馬上檢視歸檔的路徑
SQL> archive log list;
資料庫日誌模式 存檔模式
自動存檔 啟用
存檔終點 USE_DB_RECOVERY_FILE_DEST
最早的聯機日誌序列 23
下一個存檔日誌序列 25
當前日誌序列 25
用的是DB_RECOVERY_FILE_DEST的路徑了。估計又是以前遇到過的錯誤的。
Oracle官方的有關19809的資訊
ORA-19809: limit exceeded for recovery files
Cause: The limit for recovery files specified by the DB_RECOVERY_FILE_DEST_SIZE was exceeded.
Action: The error is accompanied by 19804. See message 19804 for further details.
ORA-19804: cannot reclaim string bytes disk space from string limit
Cause: Oracle cannot reclaim disk space of specified bytes from the DB_RECOVERY_FILE_DEST_SIZE limit.
Action: There are five possible solutions:
1) Take frequent backup of recovery area using RMAN.
2) Consider changing RMAN retention policy.
3) Consider changing RMAN archivelog deletion policy.
4) Add disk space and increase DB_RECOVERY_FILE_DEST_SIZE.
5) Delete files from recovery area using RMAN.
基本上的原因是,db_recovery_file_desc有size限制,預設是2G,如果使用者沒有設定過的話,應該就是這裡的歸檔的檔案超過了這個大小,而導致歸檔失敗了,
先檢視一下情況吧
SQL> archive log list;
資料庫日誌模式 存檔模式
自動存檔 啟用
存檔終點 USE_DB_RECOVERY_FILE_DEST
最早的聯機日誌序列 23
下一個存檔日誌序列 25
當前日誌序列 25
SQL> select * from v$recovery_file_dest;
NAME
--------------------------------------------------------------------------------
SPACE_LIMIT SPACE_USED SPACE_RECLAIMABLE NUMBER_OF_FILES
----------- ---------- ----------------- ---------------
/opt/oracle/flash_recovery_area
4070572032 4068022784 0 100
這裡已經把所有的db_recovery_file_dest的容量都佔完了。
解決方法:刪除多餘的歸檔檔案。然後設定較大的db_recovery_file_dest_size。
刪除多餘的歸檔檔案
開啟RMAN
rman target /
RMAN>crosscheck archivelog all; -- 執行這個命令可以把無效的expired的archivelog標出來。
RMAN>delete expired archivelog all; -- 直接全部刪除過期的歸檔日誌。
RMAN>delete noprompt archivelog until time "sysdate -3"; -- 也可以直接用一個指定的日期來刪除。
重新開啟資料庫:
SQL> alter database open;
Database altered.
action
指定retention的策略,使得archivelog不至於這樣增加
RMAN>configure retention policy to recovery window of 7 days;
RMAN>configure retention policy to redundancy 3;
SQL>alter system db_recovery_file_dest_size=4G scope=both;
把archivelog_dest指定到沒有限制的地方
SQL>alter system log_archive_dest='/home/oracle';
檢視修改ORACLE10G歸檔日誌空間的限制
在ORACLE10G中,預設的歸檔路徑為$ORACLE_BASE/flash_recovery_area。對於這個路徑,ORACLE有一個限制,就是預設只能有2G的空間給歸檔日誌使用,可以使用下面兩個SQL語句去檢視它的限制:
1. select * from v$recovery_file_dest;
2. show parameter db_recovery_file_dest(這個更友好直觀一些)
當歸檔日誌數量大於2G時,那麼就會由於沒有更多的空間去容納更多的歸檔日誌會報無法繼續歸檔的錯誤。
如:“RA-19809: limit exceeded for recovery files
ORA-19804: cannot reclaim 10017792 bytes disk space from 2147483648 limit
ARC0: Error 19809 Creating archive log file to '/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2007_04_30/o1_mf_1_220_0_.arc' ”這時我們可以修改它的預設限制,比如說將它增加到5G或更多,也可以將歸檔路徑重新置到別的路徑,就不會有這個限制了。
更改限制語句如下:
alter system set db_recovery_file_dest_size=5368709102 (這裡為5G 5x1024x1024x1024=5G)
alter system set db_recovery_file_dest_size=10737418240
轉載地址:http://blog.csdn.net/mengxiang209/article/details/6936096
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22275400/viewspace-1814828/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ORA-19809: 超出了恢復檔案數的限制
- 【故障處理】ORA-19809錯誤處理
- GaussDB(分散式)例項故障處理分散式
- 【故障處理】DG環境主庫丟失歸檔情況下資料檔案的恢復
- 恢復案例:熱備期間例項故障解決
- win xp故障恢復控制檯應用例項(轉)
- Windows XP 故障恢復控制檯應用例項(轉)Windows
- jQuery如何處理xml檔案程式碼例項jQueryXML
- Oracle資料檔案損壞恢復例項二則Oracle
- 引數檔案恢復
- coreldraw檔案丟失(損壞)的恢復處理辦法
- otedisk OCR 檔案管理故障處理
- 引數檔案的恢復方法
- Oracle例項恢復Oracle
- ORACLE資料庫事務處理和故障恢復Oracle資料庫
- 控制檔案丟失恢復例項(3) - 使用重建控制檔案方式(noresetlogs)
- 常見路由器故障處理例項詳解路由器
- 不停機處理oracle超過最大processes數故障Oracle
- Oracle例項恢復和介質恢復Oracle
- 一次dataguard備份恢復到單例項的故障記錄單例
- 【恢復】非歸檔模式下因誤刪除資料檔案導致資料庫無法OPEN的故障處理模式資料庫
- 例項恢復的簡要解析
- Oracle恢復例項之一:資料檔案、控制檔案、聯機日誌丟失Oracle
- SCN、Checkpoint、例項恢復介質恢復理解
- oracle database 例項恢復和介質恢復OracleDatabase
- Oracle 11g Data guard 物理備庫故障恢復重建例項Oracle
- 非歸檔模式下線上日誌檔案破壞後例項恢復案例模式
- 表空間資料檔案故障處理
- 控制檔案恢復—從trace檔案中恢復
- rac恢復到單例項單例
- Oracle例項恢復機制Oracle
- 單例項恢復至RAC單例
- 資料塊恢復例項
- Oracle 例項恢復詳解Oracle
- windows系統DLL檔案全恢復到初始化狀態批處理檔案。Windows
- oracle例項恢復的學習理解Oracle
- rac到單例項的rman恢復單例
- 自己理解的例項恢復步驟