今天在使用sqlplus連接Oracle數據庫的時候,出現瞭如下的報錯信息:
[oracle@data01 ~]$ sqlplus / as sysdba
ERROR:
ORA-09925: Unable to create audit trail file
Linux-x86_64 Error: 28: No space left on device
Additional information: 9925
ORA-01075: you are currently logged on
然後使用-prelim方式也是無法進行連接的
[oracle@data01 ~]$ sqlplus -prelim / as sysdba
ERROR:
ORA-09925: Unable to create audit trail file
Linux-x86_64 Error: 28: No space left on device
Additional information: 9925
ORA-01075: you are currently logged on
然後查看文件系統的使用情況,發現/文件系統使用率達到了100%,空間已滿
[oracle@data01 ~]$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_dbserver-lv_root
50G 20G 28G 41% /
tmpfs 24G 1.2M 24G 1% /dev/shm
/dev/sda1 485M 38M 423M 9% /boot
/dev/mapper/vg_dbserver-lv_home
197G 9.9G 178G 6% /home
/dev/mapper/vg_dbserver-lv_orcl
99G 99G 0G 100% /u01
查看節點的使用情況,使用率也是100%
[root@data01 log]# df -i
那麼我們查看一下到底是哪一個目錄所佔用的空間比較大
[root@data01 ~]# du -sh /*
發現是/u01所佔用了大量的空間,發現由於歸檔日誌太多導致文件系統爆滿,所以導致在連接Oracle數據庫的時候出現了報錯
通過清理Oracle歸檔日誌所在的文件系統的空間後,手動的刪除最前產生的歸檔日誌文件,問題解決
[root@data01 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_dbserver-lv_root
50G 20G 28G 41% /
tmpfs 24G 1.2M 24G 1% /dev/shm
/dev/sda1 485M 38M 423M 9% /boot
/dev/mapper/vg_dbserver-lv_home
197G 9.9G 178G 6% /home
/dev/mapper/vg_dbserver-lv_orcl
99G 34G 60G 37% /u01
[oracle@data01 ~]$ sqlplus / as sysdba 成功
總結:
ERROR:
ORA-09925: Unable to create audit trail file
Linux-x86_64 Error: 28: No space left on device
Additional information: 9925
ORA-01075: you are currently logged on
當發生上面錯誤的時候,有以下三種可能:
(1)磁盤空間已滿,導致無法創建審覈文件,使用df -h查詢磁盤空間;
(2)磁盤inodes已經佔用完了,導致無法打開新的文件,使用df -i查看inode使用情況;
(3)路徑權限不足,無法創建審覈文件,查看路徑權限情況ls -l。
但是三種可能都會有不同差異的報錯:
--磁盤空間不足或inodes用完:Linux-x86_64 Error: 28: No space left on device
當inode佔用完是,需要刪除對應路徑下面的一些文件。
--權限不足:Linux-x86_64 Error: 30: Read-only file system 或者 Linux Error: 13: Permission denied