ORA-00600错误,同ORA-7445错误一样,属于Oracle的内部错误,由kernel code 中报出,该错误不一定是Oracle的bug,也可能是操作系统、资源泄漏、硬件故障等等外部因素引起的。当00600错误发生时,会有一串参数带出,第一个参数标识了该错误是有那部分kernel code抛出的,其余参数是一些特性参数或内部变量,第一个参数可能是数字也可能是字符串。当抛出00600异常时,会把异常信息写入到alert.log日志中,并且会在USER_DUMP_DEST或者BACKGROUND_DUMP_DEST下产生trace文件。这个trace文件包含了,kernel如何抛出00600错误的一些非常重要的信息。
alert日志中记录的错误信息格式:
ORA 600 "internal error code, arguments: [%s],[%s],[%s], [%s], [%s],
可以根据ORA-00600的错误参数个数来大体确定错误类型,以12333为例:
[@more@]
第一种类型"ORA-600 [12333] [PTI] [b] [c] [d]"
由各种数据库对象的alter或create的storage参数引起,错误来源于sql解析器。
第二种类型 "ORA-600 [12333] [a] [b] [c] [d]"
此类错误是由OCI错误的调用顺序引起的。
第三种类型 "ORA-600 [12333] [a] [b] [c]"
此类错误是在接收网络传送的数据包时引发的。
调查或解决ORA-00600需要确认以下信息:
1)获取alert日志(BACKGROUND_DUMP_DEST中)。
2)获取trace日志,该日志对解析问题的原因非常重要。
3)当时执行任务的信息。
4)该问题是经常出现还是只出现一次。
5)任何最近系统环境的改变,比如OS升级?数据文件restore了么?
另外可以使用ORA-00600 trouble shooting工具来查找问题。
https://support.oracle.com/CSP/main/article?cmd=show&id=153788.1&type=NOT
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/22927800/viewspace-1029215/ ,如需转载,请注明出处,否则将追究法律责任。