• ORA-19809: 超出了恢复文件数的限制


     ORA-19809: 超出了恢复文件数的限制


    一、故障现象:
    RMAN> backup database;
    启动 backup 于 05-10月-14
    使用目标数据库控制文件替代恢复文件夹
    分配的通道: ORA_DISK_1
    通道 ORA_DISK_1: sid=158 devtype=DISK
    通道 ORA_DISK_1: 启动所有数据文件备份集
    通道 ORA_DISK_1: 正在指定备份集中的数据文件
    输入数据文件 fno=00001 name=D:ORACLEPRODUCT10.2.0ORADATAORCLSYSTEM01.DBF
    输入数据文件 fno=00005 name=D:ORACLEPRODUCT10.2.0ORADATAORCLHW_WH01.DBF
    输入数据文件 fno=00003 name=D:ORACLEPRODUCT10.2.0ORADATAORCLSYSAUX01.DBF
    输入数据文件 fno=00002 name=D:ORACLEPRODUCT10.2.0ORADATAORCLUNDOTBS01.DBF
    输入数据文件 fno=00006 name=D:ORACLEPRODUCT10.2.0ORADATAORCLGZ_DATA01.DBF
    输入数据文件 fno=00007 name=D:ORACLEPRODUCT10.2.0ORADATAORCLSZ_DATA01.DBF
    输入数据文件 fno=00004 name=D:ORACLEPRODUCT10.2.0ORADATAORCLUSERS01.DBF
    通道 ORA_DISK_1: 正在启动段 1 于 05-10月-14
    MAN-03009: backup 命令 (ORA_DISK_1 通道上, 在 12/08/2014 16:38:37 上) 失败
    ORA-19809: 超出了恢复文件数的限制
    ORA-19804: 无法回收 52428800 字节磁盘空间 (从 2147483648 限制中)
    继续执行其他作业步骤, 将不又一次执行失败的作业
    通道 ORA_DISK_1: 启动所有数据文件备份集
    通道 ORA_DISK_1: 正在指定备份集中的数据文件
    备份集中包含当前控制文件
    在备份集中包括当前的 SPFILE
    通道 ORA_DISK_1: 正在启动段 1 于 05-10月-14
    通道 ORA_DISK_1: 已完毕段 1 于 05-10月-14
    段句柄=D:ORACLEPRODUCT10.2.0FLASH_RECOVERY_AREAORCLBACKUPSET2014_12_08O1_MF_NCSNF_TAG20141208T163642_7G0XWHOH_.BKP 标记=TAG20141208T163642 凝视=NONE
    通道 ORA_DISK_1: 备份集已完毕, 经过时间:00:00:02
    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================


    二、故障分析
    在使用rman进行数据库全备份时出现ORA-19809: 超出了恢复文件数的限制错误,查报错说明例如以下:
    ORA-19809: limit exceeded for recovery files
    Cause: The limit for recovery files specified by the DB_RECOVERY_FILE_DEST_
    SIZE was exceeded.
    Action: The error is accompanied by 19804. See message 19804 for further details.
    在这里我们能够看到。文档明白指出了ORA-19809错误是伴随着ORA-19804出现,接着我们看下ORA-19804的出现原因及解决方式:
    ORA-19804: cannot reclaim string bytes disk space from string limit
    Cause: Oracle cannot reclaim disk space of specified bytes from the DB_RECOVERY_FILE_DEST_SIZE limit.
    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 archivelog deletion policy. 4) Add disk space and increase DB_
    RECOVERY_FILE_DEST_SIZE. 5) Delete files from recovery area using RMAN.
    以上已经明白给出导致这个错误的原因及五点解决方式
    最简单也是最经常使用的办法就是扩大DB_RECOVERY_FILE_DEST_SIZE的设置
    首先查看数据库的当前设置:
    SYS @ ORCL(159)> archive log list
    数据库日志模式            存档模式
    自己主动存档             启用
    存档终点            USE_DB_RECOVERY_FILE_DEST
    最早的联机日志序列     163
    下一个存档日志序列   165
    当前日志序列           165
    SYS @ ORCL(159)>


    能够看到使用了数据库默认的闪回区用来存储归档,接下来我们看下闪回区的位置,大小及使用情况
    SYS @ ORCL(159)> show parameter db_recovery_file_dest
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- -----------------------------------------------
    db_recovery_file_dest                string      D:oracleproduct10.2.0/flash_recovery_area   
    db_recovery_file_dest_size           big integer 2G
    SYS @ ORCL(159)> select NAME,SPACE_LIMIT/1024/1024 "total(MB)",SPACE_USED/1024/1024 "used(MB)" 
    from v$recovery_file_dest;
    NAME                                              total(MB)   used(MB)
    ------------------------------------------------ ---------- ----------
    D:oracleproduct10.2.0/flash_recovery_area           3072 2078.77051
    对于db_recovery_file_dest_size,系统默认设置为2G大小,当该空间不够容纳备份集则会导致上面见到的错误。


    三、解决方式:
    对于上面的错误我们扩大了db_recovery_file_dest_size仍出错(由2G扩大至3G),可以看出即使扩容也是不够做一次全备份的(后面可以看到这个备份集得实际大小为2.05G)
    1、扩大db_recovery_file_dest_size參数设置
        alter system set db_recovery_file_dest_size=5G;
    2、查看当前设置情况
       show parameter db_recovery_file_dest
    3、又一次运行rman备份
    RMAN> backup database;
    ......
    RMAN> list backupset;
    BS keyword  类型 LV 大小       设备类型 经过时间 完毕时间
    ------- ---- -- ---------- ----------- ------------ ----------
    14      Full    2.05G      DISK        00:02:19     09-12月-14
            BP keyword: 14   状态: AVAILABLE  已压缩: NO  标记: TAG20141209T141548
    段名:D:ORACLEPRODUCT10.2.0FLASH_RECOVERY_AREAORCLBACKUPSET2014_12_09O1_MF_NNNDF_TAG20141209T141548_7G2ZC4L2_.BKP
      备份集 14 中的数据文件列表
      文件 LV 类型 Ckp SCN    Ckp 时间   名称
      ---- -- ---- ---------- ---------- ----
      1       Full 5170484    09-12月-14 D:ORACLEPRODUCT10.2.0ORADATAORCLSYSTEM01.DBF
      2       Full 5170484    09-12月-14 D:ORACLEPRODUCT10.2.0ORADATAORCLUNDOTBS01.DBF
      3       Full 5170484    09-12月-14 D:ORACLEPRODUCT10.2.0ORADATAORCLSYSAUX01.DBF
      4       Full 5170484    09-12月-14 D:ORACLEPRODUCT10.2.0ORADATAORCLUSERS01.DBF
      5       Full 5170484    09-12月-14 D:ORACLEPRODUCT10.2.0ORADATAORCLHW_WH01.DBF
      6       Full 5170484    09-12月-14 D:ORACLEPRODUCT10.2.0ORADATAORCLGZ_DATA01.DBF
      7       Full 5170484    09-12月-14 D:ORACLEPRODUCT10.2.0ORADATAORCLSZ_DATA01.DBF
    BS keyword  类型 LV 大小       设备类型 经过时间 完毕时间
    ------- ---- -- ---------- ----------- ------------ ----------
    15      Full    6.83M      DISK        00:00:02     09-12月-14
            BP keyword: 15   状态: AVAILABLE  已压缩: NO  标记: TAG20141209T141548
    段名:D:ORACLEPRODUCT10.2.0FLASH_RECOVERY_AREAORCLBACKUPSET2014_12_09O1_MF_NCSNF_TAG20141209T141548_7G2ZHQFO_.BKP
      包含的控制文件: Ckp SCN: 5170574      Ckp 时间: 09-12月-14
      包括的 SPFILE: 改动时间: 09-12月-14
    至此问题已成功解决。

  • 相关阅读:
    PHP入门03 -- 数组与数据结构
    PHP入门02 -- 函数
    PHP入门01 -- 基本语法
    node文章
    Mongodb08
    Mongodb07
    ISO处理jq事件
    map
    Django自定义模板
    JS this指向
  • 原文地址:https://www.cnblogs.com/claireyuancy/p/6773649.html
Copyright © 2020-2023  润新知