天天看點

閃回恢複區大小不夠。報ORA-19809、ORA-19804

問題: 閃回恢複區大小不夠,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

including current control file in backup set

including current SPFILE in backup set

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 ===============

原因:閃回恢複區大小不夠

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

本文轉自 張沖andy 部落格園部落格,原文連結: http://www.cnblogs.com/andy6/p/6240988.html  ,如需轉載請自行聯系原作者