試運行半個月後,7/24 晚連線更新資料報 ORA-00257: archiver error. Connect internal only, until freed. 磁碟剩餘 200GB,僅用 10GB,為何仍報空間不足?
$FLASH_RECOVERY_AREA/archivelog 目錄,發現每日歸檔目錄正常存在,直到 7/24 當天目錄為空。V$FLASH_RECOVERY_AREA_USAGE 發現 PERCENT_SPACE_USED = 100%,NUMBER_OF_FILES 極大。DB_RECOVERY_FILE_DEST_SIZE 設定較小(如 2GB),導致快速恢復區滿雖然磁碟仍有空間。Oracle 10g 新特性 Fast Recovery Area (FRA) 受 DB_RECOVERY_FILE_DEST_SIZE 限制,超過配額即報 ORA-00257,與實體磁碟剩餘空間無關。
RMAN> DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-1'; 或手動刪除 FRA 內過期歸檔/備份檔。ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE=50G SCOPE=BOTH; 視磁碟容量設定。CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS; 讓 RMAN 自動清除過期檔案。V$FLASH_RECOVERY_AREA_USAGE,使用率超 80% 發送告警。