修复已满的 FRA / 归档目标
Oracle重做与归档命令
-- Check usage:
SELECT name, space_limit/1024/1024/1024 AS limit_gb,
space_used/1024/1024/1024 AS used_gb,
ROUND(space_used/space_limit*100,1) AS pct_used
FROM v$recovery_file_dest;
-- Fix A) Increase the FRA size:
ALTER SYSTEM SET db_recovery_file_dest_size=100G SCOPE=BOTH;
-- Fix B) Clean up already backed-up archives with RMAN:
-- RMAN> DELETE ARCHIVELOG ALL BACKED UP 1 TIMES TO DISK COMPLETED BEFORE 'SYSDATE-3';
-- If there is no backup (CAREFUL): RMAN> DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-1';作用
当快速恢复区或归档目标写满时,数据库会挂起(ORA-00257)。通过扩大空间或清理归档解决。
适用场景
出现 ORA-00257 归档错误、数据库停止接受新事务时。
注意
删除尚未备份的归档会破坏可恢复性。先执行 RMAN 备份,再删除。不要在操作系统中用 rm 删除;那样需要 RMAN CROSSCHECK。FRA 已满时,将归档备份到 FRA 之外的目标(FORMAT '/backup/arc_%U')。使用 Data Guard 时,不要删除尚未传送/应用到备库的归档;否则备库会出现 gap。使用 CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON ALL STANDBY。