1

我的 RMAN 备份有一些问题。抱歉,如果这是一个基本问题,但我对 RMAN 备份几乎没有经验。

RMAN 脚本和备份过程是由最初安装数据库的人设置的。它应该在每天上午 12:05 和下午 12:05 进行一次增量备份,并每三天进行一次完整备份。

随着时间的推移,备份会不断变大,通常比我的数据文件大得多。即使做得很少,每天也会增加约 100Mb(见下表)。

如果每 3 天运行一次完整备份,那么为什么要保留增量备份并且事情会变得越来越大?肯定每 3 天应该重置增量备份并且备份文件夹达到稳定状态大小?

下面的一些细节

备份文件夹大小和日期

Date    Size
22-Jun  250Mb
23-Jun  161Mb
24-Jun  368Mb
25-Jun  450Mb
26-Jun  500Mb
27-Jun  1Gb
28-Jun  1.4Gb
29-Jun  1.3Gb
30-Jun  1.5Gb
01-Jul  1.62Gb
02-Jul  1.7Gb
03-Jul  1.8Gb
04-Jul  1.9Gb
05-Jul  2.3Gb
06-Jul  2.55Gb
07-Jul  2.64Gb
08-Jul  3.2Gb

数据库上可能有很多行删除和插入,但总体上行数保持不变。

如果我做

SELECT * FROM V$RECOVERY_FILE_DEST

表明

Name - /u02/fast_recovery_area  
Space limit 42949672960 
Space used 32024304640  
Space reclaimable 1786222080
Number_of_files 177

如果我做一个

export ORACLE_SID=CS2DB
rman target sys/sys
delete backup completed before 'sysdate -7';

它会删除所有超过 7 天的备份,除了 2014 年 6 月 22 日的第一个备份(然后在下一次运行下面的 RMAN 脚本时删除)。

SELECT * FROM V$RECOVERY_FILE_DEST

删除 sysdate-7 后显示..

Space limit 42949672960 
Space used 23694853120  
Space reclaimable 1786222080

我的 rman 备份脚本是

#!/bin/sh
. /home/oracle11/.bash_profile
CURR_DATE=`date +%u`
$ORACLE_HOME/bin/rman target / nocatalog log=/home/oracle11/script/log/rman_alo_$CURR_DATE.log << EOF
RUN {
allocate channel ch1 type disk;
RECOVER COPY OF DATABASE WITH TAG "fra_incr_backup_3d" UNTIL TIME 'SYSDATE - 3';
BACKUP INCREMENTAL LEVEL 1 FOR RECOVER OF COPY WITH TAG "fra_incr_backup_3d" DATABASE plus archivelog;
delete noprompt obsolete;
release channel ch1;
}
exit;
EOF

RMAN 保留策略为 7 天。

如果每 3 天运行一次完整备份,那么为什么要保留增量备份并且事情会变得越来越大?肯定每 3 天增量应该重置?

另外,为什么不每 7 天删除一次备份?

4

1 回答 1

1

您不会删除存档的日志文件并每次都备份它们。

添加类似的东西

backup archivelog all not backed up 1 times;
delete noprompt archivelog all completed before 'sysdate -7';
于 2014-07-09T11:52:52.657 回答