多次登录不上,报错提示如下:
[oracle@ding ~]$ sqlplus / as sysdba;

SQL*Plus: Release 12.2.0.1.0 Production on 星期一 3月 4 22:30:18 2019

Copyright (c) 1982, 2016, 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-09925: Unable to create audit trail file
Linux-x86_64 Error: 28: No space left on device
Additional information: 9925

然后百度搜索报错代码ORA-09925,有的说权限的问题,有的说磁盘占满了,没有多余空间。
下面是找到一篇分析比较全的文章

ORA-09925: Unable to create audit trail file汇总
2014年04月24日 11:01:40 还不算晕 阅读数:12322更多
个人分类: ORACLE 故障排查
 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/q947817003/article/details/24398117
今天一兄弟的库报ORA-09925: Unable to create audit trail file,当时查 df -h有可用空间,目录的权限也正确,未df -i查看Inodes使用情况,审计目录下有将近24W个文件,初步猜测是因为审计生成文件过多导致目录所在分区的Inodes用光了,当时删除部分审计TRACE文件后正常未查看 Inodes使用情况。
汇总了下:ORA-09925的原因大致有以下三种:--其实可以根据报错判断是权限问题还是磁盘空间问题
原因一:目录权限问题--目录权限被改,无权限向目录写审计数据
oracle bin目录(实际是整个oracle目录)的属主被更改:  --ls -al bin
解决方法
chown -R oracle.oinstall /opt/orace
原因二:确实磁盘没空间了  --df -h
原因三:磁盘Inodes用光--df -i     参考:模拟LINUX磁盘分区有可用空间无可用Inodes时报错:No space left on device 
报错示例:--部分网络
示例1:可以根据报错信息判断是目录权限问题导致不能写入
ORA-09925: Unable to create audit trail file
Linux Error: 13: Permission denied
Additional information: 9925
ORA-09925: Unable to create audit trail file
Linux Error: 13: Permission denied
Additional information: 9925
示例2:--只读文件系统--没有写权限(可能是文件系统出问题)
ORA-09925: Unable to create audit trail file  
Linux-x86_64 Error: 30: Read-only file system  
Additional information: 9925  
ORA-01075: you are currently logged on 
示例3:--没有可用空间

来自 ;

确认了不是权限的问题,当时df -h 看磁盘确实占用完了
[root@ding bin]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 3.8G 0 3.8G 0% /dev
tmpfs 3.8G 4.0K 3.8G 1% /dev/shm
tmpfs 3.8G 8.9M 3.8G 1% /run
tmpfs 3.8G 0 3.8G 0% /sys/fs/cgroup
/dev/mapper/ol-root 76G 76G 124K 100% /
/dev/sda1 1014M 224M 791M 23% /boot
tmpfs 770M 0 770M 0% /run/user/0

所以在第一时间,就选择找到系统比较大的文件
[root@ding bear]# find /home/app -type f -size +500M
/home/app/oracle/diag/rdbms/bear/bear/trace/alert_bear.log
/home/app/oracle/diag/rdbms/bear/bear/trace/bear_arc2_6095.trc
/home/app/oracle/diag/rdbms/bear/bear/trace/bear_arc2_6095.trm
/home/app/oracle/diag/rdbms/bear/bear/trace/bear_arc1_6093.trc
/home/app/oracle/diag/rdbms/bear/bear/trace/bear_arc1_6093.trm
/home/app/oracle/diag/rdbms/bear/bear/trace/bear_arc3_6097.trc
/home/app/oracle/diag/rdbms/bear/bear/trace/bear_arc3_6097.trm
/home/app/oracle/diag/rdbms/bear/bear/trace/bear_arc0_6089.trc
/home/app/oracle/diag/rdbms/bear/bear/trace/bear_arc0_6089.trm
/home/app/oracle/oradata/BEAR/datafile/o1_mf_systemg6dk8d48.dbf
/home/app/oracle/oradata/BEAR/datafile/o1_mf_sysauxg6dkb3g6.dbf

其中有/home/app/oracle/diag/rdbms/bear/bear/trace/alert_bear.log超大,已经5.2G了
[root@ding bear]# find /home/app -type f -size +5000M
/home/app/oracle/diag/rdbms/bear/bear/trace/alert_bear.log
[root@ding bear]# ll /home/app/oracle/diag/rdbms/bear/bear/trace/alert_bear.log
-rw-r-----. 1 oracle oinstall 5578563584 Mar 4 22:03 /home/app/oracle/diag/rdbms/bear/bear/trace/alert_bear.log
[root@ding bear]# ll -h /home/app/oracle/diag/rdbms/bear/bear/trace/alert_bear.log
-rw-r-----. 1 oracle oinstall 5.2G Mar 4 22:03 /home/app/oracle/diag/rdbms/bear/bear/trace/alert_bear.log

因为是log文件所以删除了 然后确认了一下 trc和trm结尾的文件,也是不是那么重要的文件 所以就直接删除了
(因为是自己搭建的测试环境,所以比较随意,生产环境里,一定要确认后再做操作,可以转移备份文件腾出空间,避免不必要的损失!)
已经腾出20G 空间了,先凑合着用吧
[root@ding bear]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 3.8G 0 3.8G 0% /dev
tmpfs 3.8G 4.0K 3.8G 1% /dev/shm
tmpfs 3.8G 8.9M 3.8G 1% /run
tmpfs 3.8G 0 3.8G 0% /sys/fs/cgroup
/dev/mapper/ol-root 76G 56G 20G 75% /
/dev/sda1 1014M 224M 791M 23% /boot
tmpfs 770M 0 770M 0% /run/user/0

哈,可以正常登陆了
[oracle@ding ~]$ !sql
sqlplus / as sysdba;

SQL*Plus: Release 12.2.0.1.0 Production on 星期一 3月 4 23:02:34 2019

Copyright (c) 1982, 2016, Oracle. All rights reserved.

已连接到空闲例程。

SQL>
事后回想了一下是为啥会突然会将磁盘沾满 ,当时example表空间安装时,跑了很长的一串命令,创建用户,创建表空间,好像把审计功能也打开了,归档也打开 所以那些记录的文件就很多了 ,到时候 好好的整理一下我的库吧,先就这样凑合用吧