Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1216264
  • 博文数量: 259
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 2518
  • 用 户 组: 普通用户
  • 注册时间: 2012-10-13 16:12
个人简介

科技改变世界,技术改变人生。

文章分类

全部博文(259)

分类: Oracle

2015-01-19 10:42:17

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

问题:如何定期正确删除archivelog文件呢?

很多人直接在archive目录下删除文件,这样其实不能达到在Oracle CLF文件中删除文件记录的效果。

正确方法:

1.用RMAN 连接目标DB:
su - oracle (多实例的时候会让你选择)
RMAN target sys/*****(密码随意输入)

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;

建议删除前备份归档日志文件。

数据无价!
阅读(1704) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~