在Oracle 11g XE上,我运行了以下语句:
alter table le_customer drop column profile_id;
然后从表上的简单视图中删除等效列引用并成功重新编译视图。
然后我运行了一些引用该视图的PL / SQL,我开始得到
ORA-00600: internal error code, arguments: [kkdcsaccc2], [], [], [], [], [], [], [], [], [], [], []
(但是如果我将PL / SQL改为直接引用表,那么代码就可以了)
我已经删除并重新创建了视图,并运行" alter table le_customer move ..."但是,错误会继续以100%的一致性发生。
我关闭了数据库并对数据库.dbf文件运行dbv - 没有报告错误。
我正在VM上运行,所以我将代码回滚并从视图中删除了profile_id列引用,而没有从le_customer表中物理删除列...然后一切都与我的代码一起正常工作。然后我运行了alter table le_customer drop column profile_id;再次立即重新发生ORA-00600。
我再次推回VM然后运行
alter table le_customer rename column profile_id to donald_duck;
.......然后测试,一切正常。
然后我跑了alter table le_customer drop column donald_duck;
...然后再次测试并立即得到ORA-00600
。
所以我非常确定问题是由" alter table le_customer drop column引起的;"声明,我迷失了如何解决它。
所以,如果有人看到这个或有关于测试/解决方法的任何想法,我将非常感谢你能分享的任何信息 - 谢谢!
答案 0 :(得分:3)
我之前的结论是错误的...因为我再次看到了完全相同的问题,这次是在2个完全独立的数据库构建上。然而问题表保持与以前相同(即le_customer)和:
...我开始逐一从表中删除约束,每次重新运行查询
在删除以下约束时,查询开始工作!
constraint le_cus_bus_case_chk check(allow_case_boo = 'F'
or
case_master_template is not null
)
对以下2列的一个相当无害的约束,其中明显的case_master_template是存储的xmltype" out of row"
...
allow_case_boo varchar2(1)
case_master_template xmltype
...
)
xmltype column case_master_template store as clob (disable storage in row)
要确认此约束是问题,在显示相同行为的其他数据库部署上 - 并且所有索引和约束仍然存在于表中 - 我仅删除了上述约束。问题立即消失,查询开始可靠运行。
然后,我删除了除此之外的表中的所有约束,索引和外键,并且查询继续可靠地显示ORA-00600。在最后删除此约束时,ORA-00600从视图和表查询中消失(无论where子句是否存在)。因此,虽然我没有内部工作的可见性,但我确实认为我已经确定了罪魁祸首,并且可以相当自信地向其他人提供建议,以便首先检查可能存在的xmltype类型列的约束ORA-00600&# 34; kkdcsaccc2"出现。我将从表中删除约束。
我希望这证明对某人有用。