ORA-600(qctopn1)错误

客户11.2.0.2环境数据库出现这个ORA-600错误。
详细错误信息如下:

Tue Jun 12 09:50:47 2012
Errors IN file /u01/app/oracle/diag/rdbms/orcl/orcl2/trace/orcl2_ora_28252.trc (incident=329000):
ORA-00600: internal error code, arguments: [qctopn1], [], [], [], [], [], [], [], [], [], [], []
Incident details IN: /u01/app/oracle/diag/rdbms/orcl/orcl2/incident/incdir_329000/orcl2_ora_28252_i329000.trc
Tue Jun 12 09:51:21 2012
Dumping diagnostic DATA IN directory=[cdmp_20120612095121], requested BY (instance=2, osid=28252), summary=[incident=329000].
Tue Jun 12 09:51:21 2012
USE ADRCI OR Support Workbench TO package the incident.
See Note 411.1 at My Oracle Support FOR error AND packaging details.
Tue Jun 12 09:51:22 2012
Sweep [inc][329000]: completed
Sweep [inc2][329000]: completed

导致这个错误的原因在于CREATE TABLE语句执行的时候尝试对子查询接嵌套。详细的描述可以参考Bug 10398457 – ORA-600 [qctopn1] from disjunctive Subquery Unnest on a CREATE TABLE as SELECT [ID 10398457.8]。这个错误确认影响的数据库版本为11.2.0.2,Oracle在11.2.0.3中FIXED了这个问题。
除了版本升级外,还可以通过设置隐含参数”_optimizer_cost_based_transformation”为FALSE,或者设置”_fix_control”的值为”4768040:OFF”来避免子查询的UNNEST。

This entry was posted in BUG and tagged , , , , , , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *