Oracle 错误: ORA-00600: 内部错误代码,参数: [13009], [5000], [1], [1],



我在运行一个程序时遇到了一个奇怪的问题。

Proc 如下所示:

procedure abc 
IS 
CURSOR xyz_cur IS
 SELECT x
       ,y
       ,z 
 from temp 
  where y IN ('abc'.'pqr'.'def','sql','pqw') 
for update nowait;
BEGIN
open xyz_cur ;
:
:
END abc;

现在早些时候游标查询没有'SQL','PQW'。我用这两个 varchar 值扩展了这个 IN 语句。并且表温度对 y 列有一个检查附件,我还扩展了检查属性。

现在我该如何解决我的问题,如果没有我最近添加的两个值,它就可以很好地工作。

我尝试过的,我已经分析了表格并重建了索引,但仍然没有运气.请帮助我

ORA-600表示"内部错误",至少在理论上,您永远不应该看到。

首先,我建议重新启动数据库。

如果之后问题仍然存在,我会联系 Oracle 支持部门。

Metalink提到了几个与SELECT相关的问题。对于导致ORA-00600 [13009]的更新,尽管似乎没有一个完全适合您的问题(您不使用10g或更早版本,并且您没有树查询) - 我建议联系Oracle支持。

您可以尝试的可能解决方法:

  • 在游标定义中使用 UNION ALL(每个 y 值对应一个分支)
  • 如果你有一组有限的 y 值:用 y 而不是 IN 反转你的逻辑......

相关内容

最新更新