使用sqlplus連線資料庫報ORA-09925: Unable to create audit trail file

迷倪小魏發表於2018-01-15
 

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

  


作者:SEian.G(苦練七十二變,笑對八十一難)


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31015730/viewspace-2150154/,如需轉載,請註明出處,否則將追究法律責任。

相關文章