首页 > 数据库 > Oracle > 归档日志删除的五种方法
1. OS物理删除,先后执行如下语句
find /mitac/mds/arch/ -name '*836701255.dbf' -ctime +150 -exec rm -rf {} \;
RMAN>crosscheck archivelog all;
RMAN> delete expried archivelog all;
2. RMAN删除archivelog(此处的XX代表日期,可以是0至N,当为0时其实也不会考虑恢复几天前的配置configure retention policy to recovery window of N days;因为保证归档日志不能随便删除的方式只有三种,不包含configure retention policy to recovery window of N days,已经实验过的)
RMAN>delete noprompt archivelog until time "sysdate-XX";
3. 备份归档日志的同时删除,如下两者都是OK的
RMAN>backup archivelog all delete all input format 'archive%U.bak';
RMAN>backup database format 'data%U.bak' plus archivelog format 'arch%U.bak' delete all input;
4. 归档日志唯一可能自动删除的情况(需触发特定条件非常复杂,生产环境不要用)
Archive log list为USE_DB_RECOVERY_FILE_DEST且rman设置为CONFIGURE RETENTION POLICY TO REDUNDANCY N,则可能自动删除归档日志,自动删除归档日志的场景比较复杂,很少情况会出现,尽量不要使用
5. 设置RMAN删除策略
Rman>configure retention policy to recovery window of 7 days;
RMAN>delete noprompt obsolete
Delete obsolete时会删除过期的数据库备份包,过期的归档日志备份包,过期的归档日志(该归档日志并非一定要备份过,只要在数据库备份包时间点前面的归档日志都可能会过期)
定义的是保留的备份文件必须要能保证恢复到近n天的任意时间点
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/30126024/viewspace-1982069/ ,如需转载,请注明出处,否则将追究法律责任。