首页 > 数据库技术 > 详细

Oracle正确删除archivelog文件(转)

时间:2014-11-19 13:46:55      阅读:173      评论:0      收藏:0      [点我收藏+]

 
  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天前的归档日志)

---补充---:
直接如下就行了:
RMAN target sys/*****@orcl
DELETE NOPROMPT ARCHIVELOG ALL COMPLETED BEFORE ‘SYSDATE-7‘;

RMAN target sys/*****@orcl
DELETE NOPROMPT ARCHIVELOG UNTIL TIME "TO_DATE(‘XXXX-XX-XX‘,‘YYYY-MM-DD‘)";

补充:

 noprompt  不用确认 
就是 手动输入yes & no

--------------------------------------------------------------------------------------------------------------------------
  3.其它相关命令:

  查看归档日志列表:

  list archivelog all;

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

  list expired archivelog all;

  4.定期清除archivelog:

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

  RMAN target sys/*****@orcl

  crosscheck archivelog all;

  delete expired archivelog all;


 

Oracle正确删除archivelog文件(转)

原文:http://www.cnblogs.com/sumsen/p/4107941.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!