ITPub博客

首页 > 数据库 > Oracle > 闪回恢复区大小不够。报ORA-19809、ORA-19804

闪回恢复区大小不够。报ORA-19809、ORA-19804

原创 Oracle 作者:张冲andy 时间:2017-01-01 13:57:17 0 删除 编辑




问题: 闪回恢复区大小不够,rman默认备份路径报错。
RMAN> backup database;


Starting backup at 01-DEC-14
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=39 device type=DISK
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00006 name=/home/oracle/app/oradata/orcl/ogg01.dbf
input datafile file number=00001 name=/home/oracle/app/oradata/orcl/system01.dbf
input datafile file number=00002 name=/home/oracle/app/oradata/orcl/sysaux01.dbf
input datafile file number=00005 name=/home/oracle/app/oradata/orcl/tbtb01.dbf
input datafile file number=00003 name=/home/oracle/app/oradata/orcl/undotbs01.dbf
input datafile file number=00004 name=/home/oracle/app/oradata/orcl/users01.dbf
channel ORA_DISK_1: starting piece 1 at 01-DEC-14
RMAN-03009: failure of backup command on ORA_DISK_1 channel at 12/01/2014 06:43:49
ORA-19809: limit exceeded for recovery files
ORA-19804: cannot reclaim 52428800 bytes disk space from 2147483648 limit
continuing other job steps, job failed will not be re-run
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
including current control file in backup set
including current SPFILE in backup set
channel ORA_DISK_1: starting piece 1 at 01-DEC-14
channel ORA_DISK_1: finished piece 1 at 01-DEC-14
piece handle=/home/oracle/app/flash_recovery_area/ORCL/backupset/2014_12_01/o1_mf_ncsnf_TAG20141201T064122_b7ro3pt5_.bkp tag=TAG20141201T064122 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:02
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================


RMAN-03009: failure of backup command on ORA_DISK_1 channel at 12/01/2014 06:43:49
ORA-19809: limit exceeded for recovery files
ORA-19804: cannot reclaim 52428800 bytes disk space from 2147483648 limit


原因:闪回恢复区大小不够
oracle10g,11g在默认情况下,归档日志是保存在闪回恢复区的,如果你建库的时候用的默认设置,
闪回恢复区应该是2G,空间不够,没办备份。(同理归档日志保存也可能碰到这个问题,导致无法再归档)
解决:
(1)调整添加闪回区大小
(2)将备份的目录换成其他路径。
     如果是归档报错,即将归档目录设置到其他目录,修改alter system set log_archive_dest = 其他路径 
步骤:


1、查看db_recovery_file_dest 大小
SQL> show parameter recover


NAME     TYPE VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest     string/home/oracle/app/flash_recover
y_area
db_recovery_file_dest_size     big integer 2G
recovery_parallelism     integer0


2、 查看闪回恢复区使用情况
SQL> select file_type, percent_space_used as used,percent_space_reclaimable as reclaimable, number_of_files as "number" from v$flash_recovery_area_usage;


FILE_TYPE                  USED RECLAIMABLE     number
-------------------- ---------- ----------- ----------
CONTROL FILE                  0           0          0
REDO LOG                      0           0          0
ARCHIVED LOG              46.76           0         23
BACKUP PIECE                .46           0          1
IMAGE COPY                    0           0          0
FLASHBACK LOG                 0           0          0
3、 扩展db_recovery_file_dest 大小
SQL> alter system set db_recovery_file_dest_size=10G scope=both;      


System altered.


4、利用run批脚本指定备份路径来备份   (建议归档与备份分开放置)
run{
allocate channel ch1 type disk;
allocate channel ch2 type disk;
backup incremental level 0 database plus archivelog  delete input
format '/home/oracle/rmanbak/db_%d_%U'
tag=db_inc_0;
release channel ch1;
release channel ch2;
}


allocated channel: ch1
。。。。。。
released channel: ch1
released channel: ch2

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

请登录后发表评论 登录
全部评论
支持就关注我个人公众号:DBA烂笔头 。专注数据库领域,熟悉oracle、mysql、redis、mongodb,clickhouse等相关技术

注册时间:2016-08-11

  • 博文量
    626
  • 访问量
    286321