ORA-00600:internal error code,arguments:[num],[?],[?],[?],[?] 
产生原因:这种错误通常为ORACLE的内部错误,只对OSS和ORACLE开发有用。ORA-600的错误经常伴随跟踪文件的状态转储(系统状态和进程状态),系统状态存储将包括ORACLE RDBMS持有的当前对象的信息,进程状态转储则将显示特殊进程持有的对象,当进程符合了某错误条件时,经常是由于一些信息取自它持有的一个块,如果我们知道这些错误进程持有的块,就容易跟踪问题的来源。 解决方法:一般来说出现这个错误我们本身是无法解决的,只有从提高系统本身各方面来解决这个内部问题,如增加硬件设备,调整系统性能,使用OPS(当然OPS从某种意义上说并不是一种好的解决方式)等。ORA-600错误的第一个变量用于标记代码中错误的位置(代码中的每个部分的第一变量都不一样),从第二个到第五个变量显示附加信息,告诉OSS代码在哪里出现了错误。 一个报错例子如下: ORA-00600: internal error code, arguments: [1237], [], [], [], [], [], [], [] 相应的英文如下: Cause:This is a catchall internal error message for Oracle program exceptions.It indicates that a process has met a low-level,unexpected condition.Various causes of this message include: Time-outs(超时) File corruption(文件太老) Failed data checks in memory(内存检索失败) Hardware,memory,or I/O errors(硬件、内存或者磁盘错误) Incorrectly restored files(错误的重建文件) 

解决方案 »

  1.   

    如果能够确定,是修改了哪一部分代码引起系统发生这个错误,就比较好定位了。
    通常是在Oracle数据库的配置,与应用系统该部分的代码,以及系统的数据量有一定的冲突。ORA-600,是Oracle开发中最难解决的问题。一定要小心处理。
    不过,大部分情况,是代码编写存在问题,优化不够等。改一改代码,也许就能够解决问题了。
      

  2.   

    注意这个reparse-infinite-loop解析无限循环
    检查一下循环中止条件