删除表标识会导致Oracle 12c上出现ORA-00600错误

前端之家收集整理的这篇文章主要介绍了删除表标识会导致Oracle 12c上出现ORA-00600错误前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的Oracle DB版本是12.1.0.2.0.

我很难删除列标识.还试图删除列并使用purge命令删除表,但每次我得到相同的Oracle错误

ORA-00600: internal error code,arguments: [12811],[96650],[],[]

只是无法触摸标识栏.我试过下面的命令,但没有运气:

ALTER TABLE DYS_CATEGORY MODIFY CATEGORY_ID DROP IDENTITY;

ALTER TABLE DYS_CATEGORY DROP COLUMN CATEGORY_ID;

DROP TABLE DYS_CATEGORY PURGE;

我可以从表中删除任何其他列,但问题是标识列.

标识列是Oracle的新增内容,刚刚在12c中引入.

解决方法

这是Oracle 12.1.0.2.0的问题.至少有一个人有 reported it (on Windows,which may be relevant).

您遇到的错误是ORA-00600,它是Oracle未处理异常的默认消息,即Oracle错误.正确的答案是通过Oracle Support提出服务请求;如果您需要修复损坏的表,他们将能够为您提供补丁或解决方法.如果您没有支持合同,您可能会失去运气.

对于将来的参考,删除标识列是一个两个阶段的过程:

alter table t42 modify id drop identity;

alter table t42 drop column id;

碰巧,这不是最新版本产品的问题.在Oracle 18c中,我们可以放弃列而不先修改它. LiveSQL demo.

猜你在找的Oracle相关文章