應用啟動報錯:ORA-00257: 歸檔程序錯誤。在釋放之前僅限於內部連接。 根因:Fast Recovery Area (FRA) 或歸檔日誌目的地磁碟空間耗盡。
# 進入 FRA 目錄 $ cd /u01/app/oracle/fast_recovery_area/ORCL/archivelog # 刪除 3 天前的歸檔 (謹慎確認已備份) $ find . -name "*.arc" -mtime +3 -delete
$ rman target / RMAN> CROSSCHECK ARCHIVELOG ALL; RMAN> DELETE EXPIRED ARCHIVELOG ALL; RMAN> EXIT
SQL> ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE = 8G SCOPE=BOTH; SQL> SHOW PARAMETER DB_RECOVERY_FILE_DEST_SIZE
$ sqlplus / as sysdba SQL> SELECT * FROM v$log; -- 檢查 ARC 欄位是否為 NO (歸檔卡住) SQL> SHOW PARAMETER RECOVER; -- 確認 FRA 位置與大小 SQL> ARCHIVE LOG LIST; -- 歸檔模式、下一個 Sequence、目的地
BACKUP DATABASE PLUS ARCHIVELOG; DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-2';
CONFIGURE ARCHIVELOG DELETION POLICY TO BACKED UP 2 TIMES TO DEVICE TYPE DISK;
SELECT * FROM v$flash_recovery_area_usage;
-- 或
SELECT name, space_limit, space_used, space_reclaimable,
ROUND(space_used/space_limit*100,1) AS pct_used
FROM v$recovery_file_dest;
ALTER SYSTEM SET LOG_ARCHIVE_DEST_1 = 'LOCATION=/u01/arch1 VALID_FOR=(ALL_LOGFILES,ALL_ROLES)'; ALTER SYSTEM SET LOG_ARCHIVE_DEST_2 = 'LOCATION=/u02/arch2 VALID_FOR=(ALL_LOGFILES,ALL_ROLES)';
RMAN> REPORT OBSOLETE; -- 顯示過期備份 RMAN> DELETE OBSOLETE; -- 刪除過期備份 (含歸檔)
SHUTDOWN ABORT 重啟可能導致歸檔缺口,需 RMAN 恢復