今天查看现网磁盘空间数和inode 数时,发现oracle数据库服务器inode数即将满。最后发现罪魁祸首是audit目录。
检查步骤如下:
1.df -hi 查看是哪个目录下面inode数即将100%,此次是/opt 目录下
2.根目录下对每个目录执行文件数统计
ls-lR|grep“^-“|wc-l
最后发现,下面的目录存在很多“*aud”文件
/opt/oracrs/11.2.0/grid/rdbms/audit
3.网上查询这些文件是否可删除
发现这个问题时oracle 11g的一个bug,所以只能使用crontab定时清理
4.先手动将该目录下的文件删除,再创建一个定时任务,只保留当天的文件,其他删除
分批删除:
find /opt/oracrs/11.2.0/grid/rdbms/audit/ -mtime+100 -name “*aud”|wc -l
find /opt/oracrs/11.2.0/grid/rdbms/audit/ -mtime +100 -name “*aud”|xargs rm -f ‘{}’
写入定时任务:
crontab -e
10 4 * * * /usr/bin/find /opt/oracrs/11.2.0/grid/rdbms/audit/ -mtime +1 -name “*aud”|xargs rm -f ‘{}’ &>/dev/null 2>&1;