ITPub博客

首页 > Linux操作系统 > Linux操作系统 > ORA-19809: limit exceeded for recovery files

ORA-19809: limit exceeded for recovery files

原创 Linux操作系统 作者:volcano117 时间:2011-11-17 11:08:40 0 删除 编辑

今天一个同事在客户那用rman备份数据库时,

connect targetsys/abcdefg@abcdefg;
connect catalog rman/rman@abcdefg
 run
{
 allocate channel t1 type 'sbt_tape'
 parms 'ENV=(NSR_SERVER=backup_server)';

 set limit channel t1 kbytes = 10000000;  #limit file size to 10GB

 sql 'alter system archive log current';

#backup archivelog all
#backup archivelog from time 'sysdate-1'
 backup archivelog like '/Suplis/archive_sde/1_%'
 format 'arch_%t_%s_%p'
#skip inaccessible
 delete input;

 release channel t1;
}

报以下错

channel ORA_DISK_1: starting piece 1 at 16-APR-09
RMAN-03009: failure of backup command on ORA_DISK_1 channel at 04/16/2009 09:47:25
ORA-19809: limit exceeded for recovery files
ORA-19804: cannot reclaim 3031623680 bytes disk space from 2147483648 limit
continuing other job steps, job failed will not be re-run
channel ORA_DISK_1: starting archive log backupset
channel ORA_DISK_1: specifying archive log(s) in backup set

 

主要是ORA-19809: limit exceeded for recovery files错误

默认放在闪回区下,而且闪回区只有2G大小,而需要备份的数据库有3G多大

有两个解决方法:

1.增加闪回区大小

2.备份放到别的文件系统中,不放到闪回区

 

SQL> show parameter db_recovery_file_dest

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest                string      d:\app\qiao\flash_recovery
                                                 _area
db_recovery_file_dest_size           big integer 2G

 

按照网上说的解决办法,有3种:

1.加大闪存恢复区。

ALTER SYSTEM SET db_recovery_file_dest_size=4g scope=both;

2.归档路径设置到其它地方。

alter system set log_archive_dest = 其他路径

3.删除或转移归档日志。

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

ORA-16038: log 3 sequence# 472 cannot be archived
ORA-19809: limit exceeded for recovery files
ORA-00312: online log 3 thread 1: 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\CHEP\REDO03.LOG'

把archivelog目录下不需要的日志文件删除,然后执行:

rman
connect target sys/oracle
crosscheck archivelog all;
delete expired archivelog all;

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/21907916/viewspace-711116/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 感觉好失望
请登录后发表评论 登录
全部评论

注册时间:2011-11-15

  • 博文量
    22
  • 访问量
    35550