ORA-19809: limit exceeded for recovery files(超出了恢复文件数的限制)

客户数据库宕掉了,连接过去一看
可以正常到mount状态,然后alter database open,观察日志里面提示:
ORA-19809: limit exceeded for recovery files
Cause: The limit for recovery files specified by the DB_RECOVERY_FILE_DEST_SIZE was exceeded.
 
查询官方对错误的处理方式如下:
http://docs.Oracle.com/cd/E16655_01/server.121/e26079/e19500.htm
ORA-19809: limit exceeded for recovery files
Cause:The limit for recovery files specified by the DB_RECOVERY_FILE_DEST_SIZE was exceeded.
Action:There are five possible solutions:
    1) Take frequent backup of recovery area using RMAN.
    2) Consider changing RMAN retention policy.
    3) Consider changing RMAN archived log deletion policy.
    4) Add disk space and increase DB_RECOVERY_FILE_DEST_SIZE.
    5) Delete files from recovery area using RMAN.
于是做如下操作:
 crosscheck archivelog all;
  直接删除7天之前的归档日志,腾出空间来
 delete noprompt archivelog until time 'sysdate - 7';
现在sqlplus / as sysdba过去,正常启动数据库
SQL> select status from v$instance;
STATUS
------------
MOUNTED
SQL> alter database open;

SQL>  select status from v$instance;
STATUS
------------
OPEN
后续处理,防止该问题频繁发生:
RMAN> CONFIGURE RETENTION POLICY TO RECOVERY  WINDOW OF 7 DAYS;
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;

SQL>  alter system set db_recovery_file_dest_size=10G scope=both;
SQL>  alter system set log_archive_dest_1='location=/opt/oracle/oradata/archive_log' scope=both;

现在切换日志alter system archive log current;可以通过select name from v$archived_log;查看,看归档已经到了新路径,也可去select name from v$archived_log;下检查。
 
分析:导致该问题主要由于归档日志在快速恢复区下,当快速恢复区被充满的时候,则无法进行归档,所以导致数据库宕机,处理方式即
  (1)改变rman的策略,从而进行定期清理归档日志。
  (2)修改归档路径,从而不受快速恢复区的影响
  (3)修改db_recovery_file_dest_size大小

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值