码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2014-05-13 14:14:45      阅读:279      评论:0      收藏:0      [点我收藏+]

标签:des   style   class   c   int   com   

 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:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF
输入数据文件 fno=00005 name=D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\HW_WH01.DBF
输入数据文件 fno=00003 name=D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF
输入数据文件 fno=00002 name=D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF
输入数据文件 fno=00006 name=D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\GZ_DATA01.DBF
输入数据文件 fno=00007 name=D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SZ_DATA01.DBF
输入数据文件 fno=00004 name=D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.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:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2014_12_08\O1_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:\oracle\product\10.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:\oracle\product\10.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 关键字  类型 LV 大小       设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
14      Full    2.05G      DISK        00:02:19     09-12月-14
        BP 关键字: 14   状态: AVAILABLE  已压缩: NO  标记: TAG20141209T141548
段名:D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2014_12_09\O1_MF_NNNDF_TAG20141209T141548_7G2ZC4L2_.BKP
  备份集 14 中的数据文件列表
  文件 LV 类型 Ckp SCN    Ckp 时间   名称
  ---- -- ---- ---------- ---------- ----
  1       Full 5170484    09-12月-14 D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF
  2       Full 5170484    09-12月-14 D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF
  3       Full 5170484    09-12月-14 D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF
  4       Full 5170484    09-12月-14 D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF
  5       Full 5170484    09-12月-14 D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\HW_WH01.DBF
  6       Full 5170484    09-12月-14 D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\GZ_DATA01.DBF
  7       Full 5170484    09-12月-14 D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SZ_DATA01.DBF
BS 关键字  类型 LV 大小       设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
15      Full    6.83M      DISK        00:00:02     09-12月-14
        BP 关键字: 15   状态: AVAILABLE  已压缩: NO  标记: TAG20141209T141548
段名:D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2014_12_09\O1_MF_NCSNF_TAG20141209T141548_7G2ZHQFO_.BKP
  包括的控制文件: Ckp SCN: 5170574      Ckp 时间: 09-12月-14
  包含的 SPFILE: 修改时间: 09-12月-14
至此问题已成功解决。

ORA-19809: 超出了恢复文件数的限制,布布扣,bubuko.com

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

标签:des   style   class   c   int   com   

原文地址:http://blog.csdn.net/liu3348/article/details/25661743

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!