各种日志清理方法

陈海   2016年4月12日   各种日志清理方法无评论

—以下都是本人在生产系统清理过的方法及步骤,有任何错误或异议欢迎指正。谢谢! 😀
清理日志是dba日常维护的工作内容之一,我们经常要清理各种日志,这里整理一下几种日志清理的方法
1.审计信息 os: hp-ux db:11.2 文件路径 $ORACLE_BASE/admin/dbname/adump
该文件夹下可能有很多小文件,我这次清理时统计了下,大概有50W+个,我们需要清理某个时间以前的日志,可以通过一下方法
–在该目录下创建一个你要清理的时间点的文件,假设为2014年12月21日0点

$ touch -t 201412210000 time_file
$ ls -lrt time_file
-rw-r--r-- 1 oracle oinstall 0 Dec 21 2014 time_file
--进行清理
find . ! -newer time_file | xargs rm

--此处可以看到 time_file也被删除了
$ ls -lrt time_file
time_file not found

这样就完成了删除你设定时间之前的所有文件。
注意:如果不能保证该文件夹下的文件类型,不建议使用。

2.普通日志文件(监听日志、ogg错误日志、alert日志等)
该类文件是我们常用的文件,这类文件一般比较重要,切勿直接rm,可能会直接影响crs/db/ogg等工具
如果其他目录有多余空间,可以考虑将整个文件先进行备份。如果没有太多空间,可以考虑备份近期日志,之后做清理。

--备份近期日志
tail -10000 ggserr.log > ggserr.log160405
--清理日志
echo > ggserr.log

3.rac相关日志清理
3.1 crf日志清理

--停止crf crfclust.bdb
crsctl stop res ora.crf -init
CRS-2673: Attempting to stop 'ora.crf' on 'db2'
CRS-2677: Stop of 'ora.crf' on 'db2' succeeded
root用户到/u01/app/11.2.0/grid/crf/db/db2目录下清理
[root@db2 db2]# rm *.bdb
rm: remove regular file `crfalert.bdb'? yes
rm: remove regular file `crfclust.bdb'? yes
rm: remove regular file `crfconn.bdb'? yes
rm: remove regular file `crfcpu.bdb'? yes
rm: remove regular file `crfhosts.bdb'? yes
rm: remove regular file `crfloclts.bdb'? yes
rm: remove regular file `crfts.bdb'? yes

--启动crf 
[grid@db2 ~]$ crsctl start res ora.crf -init
CRS-2672: Attempting to start 'ora.crf' on 'db2'
CRS-2676: Start of 'ora.crf' on 'db2' succeeded

–参考文档
ODA Nodes Lacking Space Due to Large Cluster Health Monitor File Crfclust.Bdb (文档 ID 1616910.1)

3.2 incident文件夹内容

/u01/app/oracle/diag/rdbms/dbname/sid
4.0K ./hm
4.0K ./metadata_pv
11M ./metadata
4.0K ./cdump
4.0K ./lck
3.7G ./incident <----------
688K ./sweep
67M ./stage
4.0K ./ir
21M ./trace
4.0K ./incpkg
4.0K ./metadata_dgif
44M ./alert
3.9G .

--清理方法
su - oracle
$ORACLE_HOME/bin/adrci
-- age删除范围,单位min 示例为清理20160min前的文件
purge -age 20160 -type incident

adrci> help purge

Usage: PURGE [[-i <id1> | <id1> <id2>] |
[-age <mins> [-type ALERT|INCIDENT|TRACE|CDUMP|HM|UTSCDMP]]]:

Purpose: Purge the diagnostic data in the current ADR home. If no
option is specified, the default purging policy will be used.

Options:
[-i id1 | id1 id2]: Users can input a single incident ID, or a
range of incidents to purge.

[-age <mins>]: Users can specify the purging policy either to all
the diagnostic data or the specified type. The data older than <mins>
ago will be purged

[-type ALERT|INCIDENT|TRACE|CDUMP|HM|UTSCDMP]: Users can specify what type of
data to be purged.

Examples: 
purge
purge -i 123 456
purge -age 60 -type incident

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注