数据库在运行过程中会不停的产生各类的trc文件,需要及时清理操作系统oracle目录,防止数据库hang死
1、清理oracle用户下的trc文件
oracle@jecndb31:/home/oracle$bdump
oracle@jecndb31:/oracle/app/oracle/diag/rdbms/ecndb3/ecndb31/trace$cd ..
oracle@jecndb31:/oracle/app/oracle/diag/rdbms/ecndb3/ecndb31$du -sm * | sort -n
1 cdump
1 hm
1 incident
1 incpkg
1 ir
1 lck
1 log
1 metadata_dgif
1 metadata_pv
1 stage
1 sweep
4 metadata
31 alert
775 trace
如果这里有目录占用很大空间,可以使用adrci命令清理
首先show home 查看目录设置是否正确,如果不正确则用set命令设置。
oracle@jecndb31:/oracle/app/oracle/diag/rdbms/ecndb3/ecndb31$adrci
ADRCI: Release 12.1.0.2.0 - Production on Wed Dec 5 14:44:14 2018
Copyright (c) 1982, 2014, Oracle and/or its affiliates. All rights reserved.
ADR base = "/oracle/app/oracle"
adrci> show home
ADR Homes:
diag/rdbms/ecndb3/ecndb31
adrci> set home diag/rdbms/ecndb3/ecndb31
adrci> purge -age 4320 -type TRACE(ALERT|INCIDENT|CDUMP|HM|UTSCDMP)---这里清理3天前的文
单位是分钟、alert是指log_n.xml文件
如果使用adrci命令效果不明显并且trace还是占用很大很空间,进入trace目录,应该会存在很多cdmp*类型的文件夹,这些文件夹都是已日期命名,可以使用rm命令删除
oracle@edc1db01.ngbas.js.cmcc:/u01/app/oracle/diag/rdbms/dczcdb1/dczcdb11/trace$ ls -ld cdmp*
drwxr-xr-x 2 oracle asmadmin 77824 Nov 12 12:34 cdmp_20181112123419
drwxr-xr-x 2 oracle asmadmin 77824 Nov 12 12:36 cdmp_20181112123635
2、清理监听日志文件
lsnrctl status xxx(监听名称)
进入监听日志文件alert目录,
find ./ -mtime +3 -name "log_*" -exec rm {} \;
3、在oracle10g的版本中无adrci工具,则只能使用文件系统的管理方式。但原则上不允许使用rm方式直接删除trace文件,而是需要将文件置空,具体命令为
find . -mtime +3 -name "*.trc"|awk '{print(" ")>$1}'
4、其他情况
以上2种情况清理之后都没有效果则cd /oracle/app目录下逐层使用du -sm * ,查找出占用很大空间目录,进入该目录删除可清理的文件。(如果找到的trc/log 文件是GI产生的,使用>清理)