客戶的一臺 oracle 數據庫如武器在關機重啟后,oracle監聽無法啟動,提示報錯 Linux error.No space left ondevice從輸出信息看出來是因為磁盤耗盡導致監聽無法啟動,因為 oracle在啟動監聽時需要創建監聽日志文件,于是首先查看磁盤空間使用情況
# df -h
從磁盤輸出信息可知,所有的分區磁盤空間都還有剩余不少,而 oracle監聽寫日志的路徑在 /ar 分區下,var 下分區空間足夠。
解決思路:
既然錯誤提示語磁盤空間有關,那就深入研究關于磁盤空間的問題,在 inux系統中對磁盤空間的占用分為三個部分:第一個是物理磁盤空間,第二個是 inode節點所占用的磁盤空間,第三個是 Linux用來存放信號量的空間,而平時接觸較多的是物理磁盤空間,既然不是物理磁盤空間的問題,接著就檢査是否是io0de 節點耗盡的問題通過執行命令“df -i” 查看可用的 inode節點。由輸出結果看出確實是因為 inode 耗盡導致無法寫入文件。
可以通過下面的命令查看某個磁盤分區 inode 的總數
# dumpe2fs -h /dev/sda3 |grep ‘lnode count’
每個 inode 都有一個號碼,操作系統用 inode號碼來區分不同的文件,通過’ls -i命令可以查看文件名對應的inode號如果要查看這個文件更詳細的 inode 信息,可以通過 stat命令來實現
# stat install.log
解決問題