解决Linux下inode使用率100%的问题
今天接到同事消息,数据库服务器inode使用率100%导致数据库宕机。经过度娘协助解决步骤如下:
第一步:查询inode使用情况
第二步:确定哪个目录下文件最多
for i in /*; do echo $i; find $i | wc -l; done
经查询发现ora目录下文件最多,继续查下级目录里哪个子目录文件最多
for i in /ora/*; do echo $i; find $i | wc -l; done
循环一级一级目录查找,最终确定adump目录下文件已经上百万了,是oracle审计文件,可以清空。
第三步:批量删除文件
由于空间已经完全被占满,无法使用rsync命令进行清除。
由于文件数量非常多,直接使用rm无法删除。
需要使用rm分组删除,按照1000个文件一组进行删除。
切换到adump目录下,执行命令:ls | xargs -n 1000 rm -fr ls
第四步:启动数据库
先检查监听状态:lsnrctl status
如果监听没有启动,则启动监听:lsnrctl start
启动数据库:
>sqlplus /nolog
>conn / as sysdba
>startup