delete input仅清理log_archive_dest_1中的归档日志,而delete all input则遍历所有enable状态的log_archive_dest_n路径并删除已备份的归档文件;二者均不自动轮询或定时执行,且需配合隐含参数"_log_deletion_policy"=all及数据库重启才能使archivelog deletion policy生效。
“自动删除”是假象,delete input 只在备份命令执行时触发删档动作,不轮询、不定时、不跨会话生效。
backup archivelog all delete input 和 delete all input 的区别
这两个参数决定 RMAN 是否扫描所有归档目标路径(log_archive_dest_n)来清理已备份的归档日志。
-
DELETE INPUT:只清理log_archive_dest_1中的归档日志,不管其他log_archive_dest_2、log_archive_dest_3等是否已备份 -
DELETE ALL INPUT:遍历所有log_archive_dest_n(状态为ENABLE的),只要该路径下的归档已被本次 backup 覆盖,就一并删除 - 注意:
DELETE ALL INPUT不删目录本身,只删归档文件;也不会删未被本次 backup 包含的归档(比如刚生成但尚未归档完的)
为什么 backup archivelog all delete input 没删完所有归档
典型现象:备份后 /u01/app/oracle/product/11.1.0/db_1/dbs 下的归档还在,而 flash_recovery_area 下的没了——这说明你有多个归档目标,且只有 log_archive_dest_1 指向 FRA,其余指向 $ORACLE_HOME/dbs 或其他路径。
- 确认当前启用的归档路径:
SELECT NAME, VALUE FROM V$PARAMETER WHERE NAME LIKE 'log_archive_dest%'; - 检查哪些路径处于
ENABLE状态:SELECT DEST_NAME, STATUS, TARGET FROM V$ARCHIVE_DEST WHERE STATUS = 'VALID'; - 若想统一清理,必须用
DELETE ALL INPUT,否则 RMAN 默认只认log_archive_dest_1 - 如果某些
log_archive_dest_n是 standby 专用(如log_archive_dest_2),又启用了CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON STANDBY,那即使加了ALL INPUT,RMAN 也会跳过未应用的归档(报RMAN-08137)
configure archivelog deletion policy 生效的硬性前提
这个策略不是开关一按就管用,它依赖底层校验能力,而 Oracle 默认禁用。
- 必须设置隐含参数:
ALTER SYSTEM SET "_log_deletion_policy" = ALL SCOPE=SPFILE SID='*'; - 必须重启数据库:
SHUTDOWN IMMEDIATE+STARTUP,否则SHOW ARCHIVELOG DELETION POLICY显示已配置,但实际无效 - RAC 环境下
SID='*'不可省略,否则仅影响当前实例 - 配置后仍需配合
DELETE INPUT或DELETE ALL INPUT使用——策略本身不触发删除,只做守门人判断 - 常见误判:
RMAN-08591: WARNING: invalid archivelog deletion policy就是没重启 DB 导致的静默失效
真要“自动”,得靠外部调度+明确范围
RMAN 没有内置定时器。所谓自动化,本质是把带 DELETE ALL INPUT 的备份脚本交给 cron 或 Windows Task Scheduler 定期跑。
- 推荐组合:每天一次全备 + 归档备份 +
DELETE ALL INPUT,再补一条独立清理语句防漏:DELETE NOPROMPT ARCHIVELOG UNTIL TIME 'SYSDATE-1'; - 避免混用策略与显式删除:如果已配
TO APPLIED ON STANDBY,又手动执行DELETE ARCHIVELOG UNTIL TIME 'SYSDATE-7',后者绕过策略,可能误删备库还没应用的日志 - 关键提醒:
DELETE INPUT类操作不可逆,务必先验证归档传输和应用延迟(查V$ARCHIVE_DEST_STATUS的APPLIED_SCN和LAST_APPLIED_TIME)











