解決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