flash_recovery_area故障處理

Ice-Spring發表於2013-06-19

上午接到地方運營平臺維護人員的求助電話,oracle資料庫登入失敗。請求協助解決問題。

遠端連線到地方資料庫平臺,檢視報警日誌:

Sat Jun  8 00:00:39 2013
Errors in file /opt/oracle/admin/HQMSS/bdump/hqmss_arc0_24312.trc:
ORA-19809: limit exceeded for recovery files
ORA-19804: cannot reclaim 42995200 bytes disk space from 21474836480 limit
ARC0: Error 19809 Creating archive log file to '/opt/oracle/flash_recovery_area/HQMSS/archivelog/2013_06_08/o1_mf_1_500_0_.arc'
ARCH: Archival stopped, error occurred. Will continue retrying
Sat Jun  8 00:00:40 2013
ORACLE Instance HQMSS - Archival Error
Sat Jun  8 00:00:40 2013
ORA-16038: log 1 sequence# 500 cannot be archived
ORA-19809: limit exceeded for recovery files
ORA-00312: online log 1 thread 1: '/opt/oracle/oradata/HQMSS/redo01.log'
Sat Jun  8 00:00:40 2013

初步斷定,歸檔程式無法歸檔,報閃回區空間不足錯誤。記得這個庫執行在非歸檔模式,怎麼會報空間不足錯誤?

SQL> archive log list
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     523
Next log sequence to archive   525
Current log sequence           525

沒錯,庫執行在 歸檔模式下。這時資料庫已經掛起,歸檔未完成,日誌無法切換。當機立斷,先恢復運營問題。

啟動rman,連線資料庫:

1. 進入rman 
2. connect target /
3. crosscheck archivelog all;
4. delete expired archivelog all;

校驗歸檔日誌的時效與過期,將過期的歸檔日誌刪除。由於這個庫維護力度不夠,校驗前後,閃回空間無變化。乾脆執行如下命令:

RMAN>DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7';刪除系統裡7天以前的歸檔資料。執行完後,閃回空間空間釋放,立即全備資料庫(這個庫業務量不大,全備不會引起效能問題)。

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28985005/viewspace-764283/,如需轉載,請註明出處,否則將追究法律責任。

相關文章