今天一兄弟的库报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:--没有可用空间


ORA-09925: Unable to create audit trail file汇总_文件系统


##############################


MOS上的一段描述及解决:

Problem Description -------------------   


Problem occurs when:   $ORACLE_HOME/rdbms/audit directory is full or   $ORACLE_HOME/rdbms/audit directory doesn't exist   as a side effect of this problem oracle asks for password  after connect internal


   


Solution Description  --------------------   


Make space available in $ORACLE_HOME/rdbms/audit by removing files that are  not needed     or    Make sure the directory exists and is readable by oracle    or    Change init.ora audit_file_dest to an existing directory.   Change init.ora parameter means restart instance as workaround kill pmon.                                                 



Explanation  -----------   


The behavior on Unix is to write a file named ora_<process_id>.aud into   the directory specified by audit_file_dest.    The default directory is /rdbms/audit.    The file will contain an entry for the audited action, which would be internal  logins or startup. On ports which support an OS audit trail, these records will be   written there.   This feature is not affected by the settings of the audit_trail parameter.                                                      



ORA-09925: "Unable to create audit trail file"                                

  Cause: ORACLE was not able to create the file being used to hold   audit trail records.            

Action: Check the UNIX error number for a possible operating system error.              


If there is no error, contact ORACLE customer support.                   



References  ---------- 

[NOTE:1018924.102] ORA-09925 ON DATABASE STARTUP  [NOTE:1056988.6]   ORA-09925 DURING HOT BACKUPS  [NOTE:21073.1]   

OERR:  ORA-9925   "Unable to create audit trail  [BUG:723955]       SQLPLUS ALLOWS DB STARTUP (BUT NOT SHUTDOWN)                    

IF AUDIT_FILE_DEST DOESN'T EXIST   

Search Words  ------------   ORA-09925 audit trail audit_file_dest