oracle 数据库下有时候需要删除归档日志,分两种情况

1、操作系统删除

#rm -f ./archive*.dbf

使用rm命令后,此时在os上文件是被删除了,但是archivelog信息还是记录在controlfile里,需要使用rman清除一下。

$ rman target /
RMAN> crosscheck archivelog all;
RMAN> list expired archivelog all; 
RMAN> delete noprompt expired archivelog all;

2、rman 命令删除
个人建议优先考虑rman删除archivelog,该命令会同时删除os和 controlfile有关archivelog的信息

$ rman target /
RMAN>delete archivelog until sequence 123;  
RMAN>delete archivelog all completed before 'sysdate - 7';    
RMAN>delete archivelog all completed before 'sysdate - 1';  
RMAN>delete archivelog from time 'sysdate-1';