您的位置:首页 > 其它

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

2017-01-01 14:10 323 查看
问题: 闪回恢复区大小不够,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

解决办法(3)

删除过期归档日志

1. 进入rman  

2. connect target / 

3. crosscheck archivelog all;

4.delete expired archivelog all;==>没有rman备份的情况下不适用。

5.delete archivelog all completed before 'SYSDATE-30'; 删除一个月前的日志。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: