• 技术文章 >数据库 >mysql教程

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

    2016-06-07 17:34:28原创470

    客户数据库宕掉了,连接过去一看可以正常到mount状态,然后alter database open,观察日志里面提示:ORA-19809: limit exceeded

    客户数据库宕掉了,连接过去一看
    可以正常到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.

    查询官方对错误的处理方式如下:

    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大小

    推荐阅读:

    ORA-01172、ORA-01151错误处理

    ORA-00600 [2662]错误解决

    ORA-01078 和 LRM-00109 报错解决方法

    ORA-00471 处理方法笔记

    ORA-00314,redolog 损坏,,或丢失处理方法

    ORA-00257 归档日志过大导致无法存储的解决办法

    linux

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:MySQL Proxy快速实现读写分离以及负载均衡 下一篇:sysman密码过期导致oem无法使用
    20期PHP线上班

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• 一起来聊聊数据库拉链表• 如何用好MySQL索引?你必须了解这些事!• mysql索引的查询语句是什么• mysql不是内部命令要怎么解决• mysql有触发器吗
    1/1

    PHP中文网