ORA-19809: limit exceeded for recovery files(恢复文件超出限制)
Oracle含义
分配给快速恢复区(FRA)的空间(db_recovery_file_dest_size)已满。归档日志、闪回日志和备份没有剩余空间,Oracle 无法创建新的恢复文件,数据库可能挂起。
原因
FRA 中的归档日志未定期备份和清理而不断累积;闪回日志用量增长;或分配的大小不足以支撑实际负载。常与 ORA-16038 等归档错误同时出现。
解决方法
查看 FRA 使用情况:SELECT * FROM v$recovery_file_dest; 以及 SELECT * FROM v$flash_recovery_area_usage; 用 RMAN 删除不需要的归档日志:DELETE ARCHIVELOG ALL BACKED UP 1 TIMES TO DISK;(使用 Data Guard 时,先确认已在备库应用;建议设置 CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON ALL STANDBY),或作为永久方案增大空间:ALTER SYSTEM SET db_recovery_file_dest_size = 50G SCOPE=BOTH; 设置定期备份归档日志的 RMAN 作业。
同一数据库的其他条目
- ORA-01950no privileges on tablespace 'name'(对表空间 'name' 无权限)
- ORA-01110data file N: 'path'(数据文件 N:'path')
- ORA-16038log N sequence# M cannot be archived(日志 N 序列号 M 无法归档)
- ORA-00376file N cannot be read at this time(文件 N 当前无法读取)
- ORA-12520TNS:listener could not find available handler for requested type of server(监听程序找不到所请求服务器类型的可用处理程序)
- ORA-28001the password has expired(密码已过期)
- ORA-38029object statistics are locked(对象统计信息已锁定)