我的 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 天删除一次备份?