代码改变世界

Oracle软件安装目录满的清理方法

2015-04-21 20:39  AlfredZhao  阅读(...)  评论(...编辑  收藏

这是Oracle数据库日常运维中很常见的一个场景,安装目录满有时不光会导致无法记录最新数据库的日志信息,导致遇到问题无法查到最新的日志信息,还会引发一些奇怪的问题。

所以日常巡检要保证Oracle的安装目录要有一定的空闲空间。

如果已经巡检发现安装目录满了,可以按照这样的思路来解决。

1.切到安装目录下

cd $ORACLE_BASE

2.用下面的命令,逐层找出大文件或文件夹

du -sk * |sort -rn

举例说,比如最终查到/u01/app/oracle/diag/rdbms/jyzhao/jyzhao/trace这个目录的空间大小占比最大。

3.移动或删除不必要的文件

由于此目录都是oracle的一些跟踪和日志文件,可以删除,但考虑最近日志可能会在其他故障问题处理中查看的需求,故只删除7天以前的日志。

cd /u01/app/oracle/diag/rdbms/jyzhao/jyzhao/trace

find . -mtime +7 | xargs rm -rf

如果N多年都没清理过,那么此目录的文件数量会很多,对应删除的时间也会很长,可以关注上面删除的进程是否还在:

ps -ef|grep find

注:Oracle安装目录的下的各种文件和子目录比较多,建议由DBA来操作判断,避免由于不了解造成误删除重要文件形成事故。

4.建议

①建议项目规范时,给oracle的安装目录至少50G可用空间,且不要存放其他无关文件。

②如有必要,可以写定时脚本删除一定时间之前的跟踪和日志文件。alert<SID>.log也可以定期打包。