Oracle - ORA-19809: 超出了恢复文件数的限制
场景重现
使用rman
执行以下命令进行数据库备份的时候出现异常:
RMAN> backup database;
出现如下错误:
# 主要异常信息如下:
# ...
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: backup 命令 (ORA_DISK_1 通道上, 在 03/17/2017 19:55:46 上) 失
ORA-19809: 超出了恢复文件数的限制
ORA-19804: 无法回收 52428800 字节磁盘空间 (从 4102029312 限制中)
事故原因
- 查看
SQL> show parameter db_recovery;
# 然后我们可以看到闪回区的默认大小.
解决办法
- 把闪回区的默认大小调大(
许久之后,问题会再现,治标不治本) - 使用自定义的备份路径,不用默认的闪回区作为备份目录(
磁盘再大,许久之后,问题再现) - 修改策略,定期删除过期备份等(
目前能想到的可用性比较好的办法)