今天在使用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