分享

ORA-00257: archiver error. Connect internal only, until freed.

 阿沛 2011-05-25

ORA-00257:

archiver error. Connect internal only, until freed.
Cause: The archiver process received an error while trying to archive a redo log. If the problem is not resolved soon, the database will stop executing transactions. The most likely cause of this message is the destination device is out of space to store the redo log file.
Action: Check archiver trace file for a detailed description of the problem. Also verify that the device specified in the initialization parameter ARCHIVE_LOG_DEST is set up properly for archiving

从Oracle9i开始,借助于UNDO日志文件提供了闪回查询的功能,由于功能也有一定的局限性,也就是说依赖于UNDO日志的事务不能被覆盖,所以在Oracle10g开始又采用了一种新的FlashBack日志来实现这个功能,而且更为强大,可以将数据库退回到过去某个时间点去。这个文件默认最大为2g。但是在一段时间过后,很快就达到了2G,这个时候就会出现ORA-00257错误了。
   两种解决方法:
   第一种 就是关闭闪回日志的功能,这种对于开发环境中不失为一种好方法,因为开发环境中,并不追求数据的可安全性什么的。通过如下语句改变。
   alter database flashback off
       
   第二种 方法就是增大闪回日志文件的最大大小。如下
   alter system set DB_RECOVERY_FILE_DEST_SIZE=10g
   这个时候,你可以去查看v$flash_recovery_area_usage视图中的使用率情况,这个时候发现使用率(PERCENT_SPACE_USED列的值)已经大大降低了。再通过如下语句去查看系统日志文件情况。

   select * from v$log
   会发现现在redo日志文件也可以正常写入,至此问题解决。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多