您的位置:首页 > 其它

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

2017-04-27 12:46 309 查看
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 keyword 类型 LV 大小 设备类型 经过时间 完毕时间

------- ---- -- ---------- ----------- ------------ ----------

14 Full 2.05G DISK 00:02:19 09-12月-14

BP keyword: 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 keyword 类型 LV 大小 设备类型 经过时间 完毕时间

------- ---- -- ---------- ----------- ------------ ----------

15 Full 6.83M DISK 00:00:02 09-12月-14

BP keyword: 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

至此问题已成功解决。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: