一、问题现象:1.rman备份开启了如下设置
CONFIGURE BACKUP OPTIMIZATION ON;
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '${BACKUP_DIR}/ctl/%F_ctl.bkp';
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;
2.脚本里又写了单独备份参数文件,执行如下语句后:
BACKUP SPFILE FORMAT '${BACKUP_DIR}/full/%U_spfile.bkp';
delete noprompt obsolete;
3. 导致单独新备份的参数文件被删除
二、 问题解析:
1. 以上设置存在备份冗余:控制文件自动备份已覆盖参数文件
BACKUP SPFILE FORMAT '${BACKUP_DIR}/full/%U_spfile.bkp';又单独备份了一份SPFILE文件。
2.CONFIGURE BACKUP OPTIMIZATION ON(备份优化开启),RMAN 会:
跳过“已存在相同内容且更优”的备份;
在保留窗口内,仅保留最新的、必要的备份。
如果控制文件自动备份的时间晚于单独的 spfile备份(比如自动备份是每小时一次,而你手动备份 spfile是在自动备份之后),RMAN 可能判定单独的 spfile备份是冗余的,从而标记为 OBSOLETE。
三、问题验证
1.执行rman备份,再单独备份参数文件命令BACKUP SPFILE FORMAT '${BACKUP_DIR}/full/%U_spfile.bkp';
2.report obsolete;
发现刚备份的SPFILE被标记为了obsolete
RMAN> report obsolete;
RMAN retention policy will be applied to the command
RMAN retention policy is set to recovery window of 7 days
Report of obsolete backups and copies
Type Key Completion Time Filename/Handle
-------------------- ------ ------------------ --------------------
Backup Set 180 30-SEP-25
Backup Piece 180 30-SEP-25
${BACKUP_DIR}/incr/6f44v5j7_1_1_spfile.bkp
3.验证了解析的正确性
问题解决:
关键思想:消除冗余
两种方式可以解决
1.修改策略configure controlfile autobackup format for device type disk to '${BACKUP_DIR}/ctl/%F_ctl.bkp' exclude spfile;
2.修改备份脚本
BACKUP SPFILE FORMAT '${BACKUP_DIR}/full/%U_spfile.bkp' keep forever;
keep until time--保留指定时间(keep until time 'sysdate + 365';)

187

被折叠的 条评论
为什么被折叠?



