转载时请务必以超链接形式标明文章 原始出处和作者信息及本版权声明。
链接:http://www.dbasky.net/archives/2009/01/ora-00257.html
今天上午运行很长时间的DB"罢工"了,报了: SqlMapClient operation; uncategorized SQLException for SQL []; SQL state [64000]; error code [257]; --- The error occurred while applying a parameter map. --- Check the levelTest.getLevelTestPaper-InlineParameterMap. --- Check the statement (query failed). --- Cause: java.sql.SQLException: ORA-00257: 归档程序错误。在释放之前仅限于内部连接 ORA-02063: 紧接着 line (起自 FENXI) ; nested exception is com.ibatis.common的错误信息,明显的可以看出是归档的空间不够造成DB"罢工"的。
其实要解决这个问题非常的简单,大致如下:
第一种 就是关闭闪回日志的功能,这种对于开发环境中不失为一种好方法,因为开发环境中,并不追求数据的可安全性什么的。通过如下语句改变。
alter database flashback off
第二种 方法就是增大闪回日志文件的最大大小:
sql>shutdown abort;
ORACLE instance shut down
sql>alter system set DB_RECOVERY_FILE_DEST_SIZE=100g(这个根据自己的情况而定)。
这个时候,你可以去查看v$flash_recovery_area_usage视图中的使用率情况,这个时候发现使用率(PERCENT_SPACE_USED列的值)已经大大降低了。再通过如下语句去查看系统日志文件情况。
select * from v$log
会发现现在redo日志文件也可以正常写入,至此问题解决。
发表评论