案例学习Oracle错误:ORA-00604
http://tech.ddvip.com 2007年05月10日 社区交流
本文详细介绍案例学习Oracle错误:ORA-00604
ORA-00604 error occurred at recursive SQL level string
Cause:An error occurred while processing a recursive SQL statement (a statement applying to internal dictionary tables).
Action:If the situation described in the next error on the stack can be corrected, do so; otherwise contact Oracle Customer Support.
ORA-00604: 递归某个SQL 层时出现错误
原因:在运行一条递归SQL语句(该语句将应用于对内部表或数据字典的操作)时,发生错误。
方案:如果上述描述的错误所在栈可以被修复,则修复并继续运行;否则,请联系Oracle客服。当然,那是Oracle官方的解决办法。我曾经记得有个高手总结了关于ORA-00604/ORA-04031问题的解决:
修改INIT.ora
添加
_db_handles_cached = 0并重新启动数据库.
分析:ORA-00604这个信息表明,在数据库执行内部SQL语句时,发生了错误。比如,要往表中插入一行数据,但没有可扩展的空间。ORACLE于是去查寻,哪儿可以建立下一个扩展空间,它有多大小,但没有成功。一般在发生ORA-00604错误时,还伴随着其它的错误,例如:ORA-1547等。
首先,应当检查警告文件alertSID.log,查找有关ORA-600类的信息。
该错误最常见的原因是数据库文件initSID.ora中的参数OPEN_CURSORS值太小。可以修改initSID.ora文件,OPEN_CURSORS的值一般为255。修改完后,宕下ORACLE,再重新启动。
还可以设置并启动数据库的事件跟踪功能。在initSID.ora中加上一行:
event = "00604 trace name errorstack"宕下并重新启动ORACLE,使这个事件跟踪参数起作用。这样,当再发生ORA-604错误时,有关信息就保存在TRACE文件中。
责编:豆豆技术应用
- Oracle 10g 教程
- Oracle 故障处理
- Oracle 存储过程
- Oracle 备份恢复
- Oracle 性能调优
- Oracle 9i 教程
- Oracle 11g 教程
- Oracle 启动
- Oracle 命令
- Oracle 数据库管理
- Oracle 时间
- Oracle 密码
- Oracle 用户
- Oracle 常见错误
- Oracle 建数据表
- Oracle 索引
- Oracle 数据库连接
- Oracle 锁
- Oracle RAC 专题
- Oracle exp/imp 命令
- Oracle 表空间
- Oracle 查询
- Oracle 函数
- Oracle PL/SQL 专题
- 更多Oracle 专题>>>