您的位置:首页 > 运维架构 > Shell

shell定时清除过期日志文件

2014-08-31 00:23 387 查看
Oracle数据库过期日志文件包含有,archive log,trace file,listener.log

注意oracle版本不同,文件及位置也可能不同;

以下例子为10g

1.定时删除arch log文件

a.在数据库中用sql查看archive log位置

SQL> archive log list;

Database log mode              Archive Mode

Automatic archival             Enabled

Archive destination           /xxxx/archive         ###   只能看到最新设置的归档目录。

Oldest online log sequence     1322

Next log sequence to archive   1324

Current log sequence          1323

b.指定job,删除log

oracle$>crontab -e

25 * * * * find /xxx/arch/*.dbf  -mtime +2 -exec rm {} \;

##注意find表达式

每小时第25分钟删除已经过期的archive(一定要检查是否过期)

2.定时删除trace文件:

a.10g的trace文件比较多,我只举例bdump文件下的

oracle$>crontab -e

30 * * * * find /Oracle/admin/xxx/bdump/*.trc   -mtime +5 -exec rm {} \;

35* * * * find /Oracle/admin/xxx/udump/*.trm -mtime +5 -exec rm {} \;

3.定时删除listener.log

记着如果有需要可以做个备份再删除,我这里只讲删除

 

关键语句

cat /dev/null > $ORACLE_HOME/network/log/listener.log;

将这个语句制定一个shell脚本,就可以了

 

 

 

 

 

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息