Oracle ORA-01148 ORA-09817: Write To Audit File Failed

 

如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!

诗檀软件专业数据库修复团队

服务热线 : 13764045638 QQ号:47079569 邮箱:service@parnassusdata.com

ORA-01148 oerr ora 1148
01148, 00000, "cannot refresh file size for datafile %s"
// *Cause:  An operating system or device error occurred when retrieving the
//          file's size. The device on which the file resides may have been
//          offline.
// *Action: Restore access to the device.



ORA-09817 oerr ora 9817
09817, 00000, "Write to audit file failed."
// *Cause:  ORACLE was unable to write an entry to the file used as the
//          audit trail.
// *Action: Check the UNIX error number for a possible operating system error.
//          If there is no error, contact Oracle Support Services.

 

适用于:

Oracle Database – Enterprise Edition –版本10.2.0.3 及以上

本文信息适用于任何平台。
*** 04-Jul-2012检查相关性***

症状

ORACLE_HOME 磁盘(文件系统)无剩余空间并导致一个ASM错误…

在警报日志文件中收到以下错误:

ORA-01148: Message 1148 not found; No message file for product=RDBMS, facility=ORA; arguments: [71]
ORA-01110: Message 1110 not found; No message file for product=RDBMS, facility=ORA; arguments:
[71] [+DG1/spsprod/datafile/tts000061.dbf]
ORA-09817: Write to audit file failed.
Solaris-AMD64 Error: 28: No space left on device
Tue Nov 18 01:50:31 2008
Automatic datafile offline due to media error on
file 71: +DG1/spsprod/datafile/tts000061.dbf

原因

ORACLE_HOME 磁盘(文件系统)已满,无空间将审计记录写入 $ORACLE_HOME/rdbms/audit

解决方案

此时Oracle代码的正确响应是使数据文件脱机。当$ORACLE_HOME已满,可能会发生这种问题,即使数据文件在其他位置。即在这里发生的问题。注意到的行为是正常的。

Oracle将会将大量文件写入$ORACLE_HOME/$ORACLE_BASE。它默认将审计记录写入ORACLE_HOME/rdbms/audit。对你启用审计的一切都创建了这些文件。(如果审计trail被设为os)。它也对于每个sysdba连接写审计文件,这无法被禁用。

 

如果你的bdump,udump和cdump目的地是ORACLE_BASE或ORACLE_HOME下,Oracle也将写入跟踪和alert.log中。对于11g中,这些文件将位于DIAGNOSTIC_DEST下。

Oracle不写有关文件扩展的任何审计信息,但它可能需要将一个条目写入alert.log或跟踪文件中,但由于该目录已满无法这样做。

Oracle还可以将控制文件快照写入oracle home,这取决于你的RMAN配置。

特别是10g及以上版本产生大量各种内部操作信息的跟踪文件,如果这些因磁盘已满无法被写入,就会出现这种类型的问题。

避免这种情况的唯一方法是确保有在$ ORACLE_HOME有足够的空间。你可以将bdump和UDUMP的位置更改到另一条路径。

注意,数据库没有完成对数据文件未决的事务,并使它处于脱机状态,因为这就是文件系统已满时的行为。不仅有与数据文件相关的问题,而且Oracle还不能写审计记录。这是文件系统已满的另一种症状,而不是文件脱机的原因。

正如前面提到的,在这样的情况下这是正常行为 – Oracle需要对这个文件执行一些操作,而不能由于已满的文件系统这样做。该文件需要恢复,因为数据库的其余部分仍打开时它脱机。这也是正常的。任何脱机文件再次联机时必须被恢复。

Comment

*

沪ICP备14014813号-2

沪公网安备 31010802001379号