Oracle删除archivelog文件的正确方法
Oracle在开启了归档模式后,会在指定的archive目录下产生很多的archivelog文件,而且默认是不会定期清除的,时间长久了,该文件夹会占用很大的空间。
问题:如何定期正确删除archivelog文件呢?很多人直接在archive目录下删除文件,这样其实不能达到在OracleCLF文件中删除文件记录的效果。
正确方法:
1.用RMAN连接目标DB:在命令行界面输入以下命令
RMANtargetsys/*@orcl**
2.在RMAN命令窗口中,输入如下命令:
crosscheckarchivelogall; deleteexpiredarchivelogall;
或者删除指定时间之前的archivelog:
DELETEARCHIVELOGALLCOMPLETEDBEFORE‘SYSDATE-7'; (指定删除7天前的归档日志)
3.其它相关命令:查看归档日志列表:
listarchivelogall;
查看失效的归档日志列表:
listexpiredarchivelogall;
4.定期清除archivelog:可以将如下代码写成.bat文件,在控制面版的任务计划下添加新的定时任务:
RMANtargetsys/*@orclcrosscheckarchivelogall; deleteexpiredarchivelogall;