在Oracle10g中,不管是否启用FLASHBACK,但只要设置了db_recovery_file_dest和db_recovery_file_dest_size参数值,那么RMAN默认会将备份集存储db_recovery_file_dest参数所指定的目录。
今天在测试机“玩”RMAN时,遇到如下错误:
RMAN> backup datafile 1;
Starting backup at 04-MAR-2011
21:28:24
allocated channel:
ORA_DISK_1
channel ORA_DISK_1: sid=132
devtype=DISK
channel ORA_DISK_1:
starting full datafile backupset
channel
ORA_DISK_1: specifying datafile(s) in backupset
input datafile fno=00001
name=+LIGLE_DATA1/ligle/datafile/system.261.742788005
channel ORA_DISK_1: starting piece 1 at 04-MAR-2011
21:28:25
RMAN-00571:
===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS
===============
RMAN-00571:
===========================================================
RMAN-03009: failure of backup command on ORA_DISK_1
channel at 03/04/2011 21:28:51
ORA-19809: limit exceeded for recovery
files
ORA-19804: cannot reclaim 52428800
bytes disk space from 314572800 limit
根据ORA-19809的提示信息,可知是由于flash_recovery_area空间不足所致。
SQL> select flashback_on from v$database;
FLASHBACK_ON
------------------
NO
SQL> select * from v$flash_recovery_area_usage;
FILE_TYPE PERCENT_SPACE_USED
PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES
------------ ------------------
------------------------- ---------------
CONTROLFILE 0
0 0
ONLINELOG 0
0 0
ARCHIVELOG 0
0 0
BACKUPPIECE
58.36 6.22 3
IMAGECOPY 0
0 0
FLASHBACKLOG 0
0 0
6 rows selected.
SQL> show parameter db_recovery
NAME
TYPE VALUE
------------------------------------ -----------
------------------------------
db_recovery_file_dest string
/u01/flashback
db_recovery_file_dest_size big integer
300M
遇到这类问题有两种方法:
1、加大闪回恢复目录的大小(加大参数db_recovery_file_dest_size值)
SQL>ALTER SYSTEM SET db_recovery_file_dest_size=2G SCOPE=BOTH;
2、更改RMAN备份目录,在备份时指定备份目录。
RMAN> backup datafile 1 format '/u01/rmanbk/%U';
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/23219371/viewspace-689690/ ,如需转载,请注明出处,否则将追究法律责任。