1.切换用户到oracle
> su - oracle
2.进入rman
oracle> rman
3.连接到目标数据库
RMAN> connect target /
5.查看所有日志情况
RMAN> list archivelog all;
我们可以到OS下把这些物理文件delete掉。但是,我们都知道在controlfile中记录着每一个archivelog的相关信息,当我们在OS中删除这些文件后,我们的controlfile中仍然记录着这些archivelog的信息,因此在Oracle的OEM管理器中还会存在这些日志。因为当我们手工清除 archive目录下的文件后,这些记录并没有被我们从controlfile中清除掉,也就是oracle并不知道这些文件已经不存在了。如果我们已经这样做了,那么可以通过如下步骤来更新Oracle的controlfile中关于日志的信息:
6.检测归档日志
RMAN> crosscheck archivelog all; --命令的作用是将磁盘或者磁带上不存在的日志标记为expired
RMAN>delete expired archivelog all; --删除rman目录中信息,并无物理文件删除
RMAN>DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7'; --删除一定时间范围的archive log
#find /oraarchive -xdev -mtime +7 -name "*.arc"| xargs rm -f;(删除OS中未被RMAN管理而里留下的归档文件)
RMAN>report obsolete;
RMAN>delete obsolete; ---according to the rule of redundancy
然后在这样
CROSSCHECK BACKUPSET以后过期的备份会标记为expired ,delete expired backupset 应该没问题