今天在使用sqlplus连接Oracle数据库的时候,出现了如下的报错信息:
[oracle@seiang ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on Thu Jan 11 10:47:45 2018
Copyright (c) 1982, 2013, Oracle. All rights reserved.
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@seiang ~]$ sqlplus -prelim / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on Thu Jan 11 10:47:45 2018
Copyright (c) 1982, 2013, Oracle. All rights reserved.
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@seiang ~]$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/cl-root 55G 55G 20K 100% /
devtmpfs 1.5G 0 1.5G 0% /dev
tmpfs 1.5G 718M 782M 48% /dev/shm
tmpfs 1.5G 162M 1.4G 11% /run
tmpfs 1.5G 0 1.5G 0% /sys/fs/cgroup
/dev/sda1 1014M 155M 860M 16% /boot
/dev/mapper/cl-home 11G 37M 11G 1% /home
tmpfs 300M 0 300M 0% /run/user/1001
tmpfs 300M 16K 300M 1% /run/user/42
tmpfs 300M 0 300M 0% /run/user/0
查看系统的日志信息:
[root@seiang log]# tail -100 messages
Jan 9 02:30:01 seiang systemd: Started Session 3022 of user root.
Jan 9 02:30:01 seiang systemd: Starting Session 3022 of user root.
Jan 9 02:30:01 seiang crond: postdrop: warning: uid=0: No space left on device
Jan 9 02:30:01 seiang crond: sendmail: fatal: root(0): queue file write error
Jan 9 02:40:01 seiang systemd: Started Session 3023 of user root.
Jan 9 02:40:01 seiang systemd: Starting Session 3023 of user root.
Jan 9 02:40:01 seiang crond: postdrop: warning: uid=0: No space left on device
Jan 9 02:40:01 seiang crond: sendmail: fatal: root(0): queue file write error
Jan 9 02:50:01 seiang systemd: Started Session 3024 of user root.
Jan 9 02:50:01 seiang systemd: Starting Session 3024 of user root.
Jan 9 02:50:01 seiang crond: postdrop: warning: uid=0: No space left on device
Jan 9 02:50:01 seiang crond: sendmail: fatal: root(0): queue file write error
Jan 9 03:00:02 seiang systemd: Started Session 3025 of user root.
Jan 9 03:00:02 seiang systemd: Starting Session 3025 of user root.
Jan 9 03:00:02 seiang crond: postdrop: warning: uid=0: No space left on device
Jan 9 03:00:02 seiang crond: sendmail: fatal: root(0): queue file write error
Jan 9Jan 11 00:00:01 seiang systemd: Started Session 3342 of user root.
查看节点的使用情况,使用率也是100%
[root@seiang log]# df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/mapper/cl-root 230888 230848 40 100% /
devtmpfs 379639 355 379284 1% /dev
tmpfs 383595 82 383513 1% /dev/shm
tmpfs 383595 821 382774 1% /run
tmpfs 383595 16 383579 1% /sys/fs/cgroup
/dev/sda1 524288 329 523959 1% /boot
/dev/mapper/cl-home 5582848 225 5582623 1% /home
tmpfs 383595 1 383594 1% /run/user/1001
tmpfs 383595 17 383578 1% /run/user/42
tmpfs 383595 1 383594 1% /run/user/0
那么我们查看一下到底是哪一个目录所占用的空间比较大
[root@seiang ~]# du -sh /*
0 /1
0 /bin
123M /boot
718M /dev
36M /etc
4.6M /home
0 /lib
0 /lib64
0 /media
0 /mnt
3.4M /opt
0 /proc
20M /root
162M /run
0 /sbin
0 /srv
0 /sys
392K /tmp
18G /u01
32G /u02
3.7G /usr
1.7G /var
发现是/u02所占用了大量的空间,发现由于归档日志太多导致文件系统爆满,所以导致在连接Oracle数据库的时候出现了报错
通过清理Oracle归档日志所在的文件系统的空间后,手动的删除最前产生的归档日志文件,问题解决
[root@seiang ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/cl-root 55G 48G 6.7G 88% /
devtmpfs 1.5G 0 1.5G 0% /dev
tmpfs 1.5G 718M 782M 48% /dev/shm
tmpfs 1.5G 161M 1.4G 11% /run
tmpfs 1.5G 0 1.5G 0% /sys/fs/cgroup
/dev/sda1 1014M 155M 860M 16% /boot
/dev/mapper/cl-home 11G 37M 11G 1% /home
tmpfs 300M 0 300M 0% /run/user/1001
tmpfs 300M 16K 300M 1% /run/user/42
tmpfs 300M 0 300M 0% /run/user/0
[oracle@seiang ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on Mon Jan 15 09:22:10 2018
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SYS@seiang11g>
总结
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