Oracle删除archivelog文件的正确方法

像一场落幕的电影,在华丽的风景都看透,在真挚的感情都虚无。你是我流年里最美丽的风景,却让我心痛不已。

Oracle在开启了归档模式后,会在指定的archive目录下产生很多的archivelog文件,而且默认是不会定期清除的,时间长久了,该文件夹会占用很大的空间。

问题:如何定期正确删除archivelog文件呢? 很多人直接在archive目录下删除文件,这样其实不能达到在Oracle CLF文件中删除文件记录的效果。

正确方法:

1.用RMAN连接目标DB:在命令行界面输入以下命令

RMAN target sys/*@orcl**

2.在RMAN命令窗口中,输入如下命令:

crosscheck archivelog all; 
delete expired archivelog all;

或者删除指定时间之前的archivelog:

DELETE ARCHIVELOG ALL COMPLETED BEFORE ‘SYSDATE-7'; 
(指定删除7天前的归档日志)

3.其它相关命令: 查看归档日志列表:

list archivelog all;

查看失效的归档日志列表:

list expired archivelog all;

4.定期清除archivelog: 可以将如下代码写成.bat文件,在控制面版的任务计划下添加新的定时任务:

RMAN target sys/*@orcl crosscheck archivelog all; 
delete expired archivelog all;

本文Oracle删除archivelog文件的正确方法到此结束。任何事情要想取得成功,必须肯下苦功,并有坚持到底的毅力。小编再次感谢大家对我们的支持!

您可能有感兴趣的文章
Oracle缩表空间的完整如何解决实例

详解Oracle控制文件及日志文件的管理问题

oracle指定类型和指定位数创建序列号的代码详解

Oracle官方工具SQLDeveloper的简单如何使用

Oracle中锁(lock)的用法