龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 数据库类 > Oracle 技术 >

Oracle数据库如何定期正确删除archivelog文件

时间:2011-04-12 23:18来源:未知 作者:admin 点击:
分享到:
我们知道, Oracle数据库 可以启用归档模式和非归档模式。而Oracle在开启了归档模式后,会在指定的archive目录下产生很多的 archivelog文件 ,而且默认是不会定期清除的,时间长久了,该

我们知道,Oracle数据库可以启用归档模式和非归档模式。而Oracle在开启了归档模式后,会在指定的archive目录下产生很多的archivelog文件,而且默认是不会定期清除的,时间长久了,该文件夹会占用很大的空间。为了节省空间,我们需要定期删除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文件,在控制面版的任务计划下添加新的定时任务:

  1. RMAN target sys/*****@orcl  
  2.  
  3. crosscheck archivelog all;  
  4.  
  5. delete expired archivelog all; 

关于Oracle数据库定期正确删除archivelog文件的知识就介绍到这里了,如果您想了解更多关于Oracle数据库的内容,可以看一下这里的文章:http://database.51cto.com/oracle/,相信一定可以带给您收获的!

精彩图集

赞助商链接