ORA-00600错误一例
来源:互联网 发布:富士康java工程师 编辑:程序博客网 时间:2024/05/16 11:17
ORA-00600错误一例,一个SQL运行时报ORA-00600的错误。
英文错误信息: ORA-00600: internal error code, arguments: [qkeAddDependentExpr1],[],[],[],[],[],[],[],[],[],[],[]
中文错误信息: ORA-00600 内部错误代码,参数:[qkeAddDependentExpr1],[],[],[],[],[],[],[],[],[],[],[]
SQL
SELECT c1, c2, c3
FROM T1
WHERE EXISTS
(SELECT c4 FROM T2 WHERE ....
FROM T1
WHERE EXISTS
(SELECT c4 FROM T2 WHERE ....
UNION
SELECT c4 FROM T2 WHERE .. .);
SELECT c4 FROM T2 WHERE .. .);
数据库版本:11.2.0.2.0
分析
ORA-600错误是Oracle数据库内部错误,单从600这个错误号是没有办法定位问题的,ORA-00600可能由多种原因造成,包括软件漏洞、Bug、程序运行异常、内存讹误和数据讹误造成,具体需要结合错误信息中所提供的参数及日志来定位问题。
Error: ORA 600Text: internal error code, arguments: [%s], [%s], [%s], [%s], [%s], [%s], [%s]-------------------------------------------------------------------------------Cause: This is the generic internal error number for Oracle program exceptions. This indicates that a process has encountered an exceptional condition.Action: Report as a bug - the first argument is the internal error number *** Important: The notes below are for experienced users - See Note:22080.1Explanation:Any ORA-600 error indicates Oracle has detected an internal inconsistency or a problem which it doesnt know how best to address. These are *NOT* necessarily bugs and can occur for reasons such as Operating System IO problems, running out of some resource etc..
我们这个ORA-600问题奇怪之处在于那个Union,如果把Union换成Union All,就不会再报错了。
解决方法
其实我们没有找到根本的解决方案,我们的解决方法就是调整SQL来避过问题的,可能这个也只有Oracle内部才方便定位把。
BTW:有一个非常类似Note:ORA-07445 [kokmrwo()] When Executing Compound Queries (Doc ID 1422733.1),问题和我们的很接近,最终的解决方法也是调整SQL来避过问题的。
遇到ORA-600的错误,可以查阅下以下几个Note,看看能不能找到类似的情况。
关于ORA-600的参数,实际600 Internal Error的参数分成2种(copy from link):
a.第一位是数字类型的Argument ,例如之前说的2662 和 4000 , 不同的数字代表不同的错误含义。数字类型的argument所代表的内部错误相对更为普遍、常见。实际这些数字Argument也是来源于不同的Oracle Kernel Function内核函数,如kddummy_blkchk、kclchkinteg_2等; b.函数名形式的Argument。这类Argument 代表的Internal Error 相对于前一种要出现的频率低一些, Oracle开发部门尚来没有在相关版本中将这些Internal Error 编码。这样我们就可以看到出现问题的完整Kernel Function Name,可以使用ORA-600 + 第一位 Argument 在Metalink 上搜索来找到一些相关的Note,但是函数名形式的Argument往往不能精确定位到问题,因为不同的错误原因 可能在同一个内核函数中引发不同的异常,而这个时候我们只能看到 函数名的Argument 信息。
0 0
- ORA-00600错误一例
- ORA-12571 错误一例.
- Oracle数据恢复:解决ORA-00600:[4000] ORA-00704: bootstrap process failure错误一例
- ora-00201,ora-00202错误处理一例
- IMPDP 时遇 ORA-31623、ORA-06512 错误解决一例
- ORA-600 [4000] 错误解决一例
- 一例ora 600 2662 错误解决
- ORA-12537错误处理一例
- 常见ORA错误(一)
- 【UNION】ORA-01790错误模拟及分析一例
- 物化视图日志中存在错误ORA-12096一例
- ORA-03137: TTC protocol internal error : [12333]错误一例
- ORA-00942:表或视图不存在 低级错误一例
- 使用客户端sqlplus连接主机数据库错误一例(ORA-12170、ORA-12504)
- ORA-00600 错误解决办法
- ora-00600错误
- ORA-00600 2662错误
- ORA-01194错误恢复方法一
- jquery中ajax的实现
- C++ primer 第五版 中文版 练习 9.50 个人code
- hash表
- MySQL下载与安装5.6.10.1安装图解
- Linux文件系统的工作原理
- ORA-00600错误一例
- TYVJ P1004 - 滑雪
- GIS到底该销售什么?地图开发应用对公司来说具有哪些经济或者商业上的用途?
- 使用游标修改数据表的方法SQL2005
- C++中struct和class关键字的三个区别
- poj-3254
- string to integer
- SAP ABAP编程 txt数据批量上传至内表
- oracle 判断字段值是否为数字