JPA查询运行到oracle失败,具体取决于值,使用ORA-00600

时间:2018-10-29 09:58:43

标签: sql oracle jpa

我正在使用标准创建器执行具有多个条件的搜索的应用程序。有一个错误,当选择两个特定条件时,应用程序崩溃。我使用了show_sql属性来显示数据库中正在执行的查询。

我收到此错误:

  

SQL错误:600,SQLState:60000

     

ORA-00600:内部错误代码,参数:[kdsgrp1],[],[],[],[],   [],[],[],[],[],[],[]

该查询是以下查询:

    select count(ves0_.CODE) as col_0_0_
    from
    VES ves0_
  where
            ves0_.STARTDATE<=TO_DATE('29/10/2018', 'DD/MM/YYYY')
    and ves0_.ENDDATE>TO_DATE('29/10/2018', 'DD/MM/YYYY')
    and ves0_.LICENCE_IND='Y'
    and (exists
                (select
                        ves1_.CODE
                    from
                        LICENSES ves1_
                    where
                        ves0_.CODE=ves1_.CODE
                        and nvl(ves1_.LICENSE_DATE_RENEWED, ves1_.LICENSE_DATE_ISSUED)<=TO_DATE('02/10/2018', 'DD/MM/YYYY')
                        and ves1_.LICENSE_DATE_VALID_TO>TO_DATE('02/10/2018', 'DD/MM/YYYY')
                )
            )
    and ves0_.STARTDATE<=TO_DATE('29/10/2018', 'DD/MM/YYYY')
    and ves0_.ENDDATE>TO_DATE('29/10/2018', 'DD/MM/YYYY');

似乎问题在于存在子句中的日期。

某些日期可带来正确的结果而不会导致应用程序崩溃,而其他日期如上述('02 / 10/2018')则抛出此错误

  

[60000] [600] ORA-00600:内部错误代码,参数:[kdsgrp1],[],   [],[],[],[],[],[],[],[],[],[]

在SQL Developer上运行它时,就像在应用程序中一样。

查询是否有问题?为什么它适用于某些价值而不适用于其他价值?

数据是否导致错误?我运行其他一些查询,但在不同日期范围内的数据似乎没有任何差异。

请帮助。预先感谢。

编辑:同一应用程序中的其他查询存在相同的问题:

select count(ves0_.CODE) as col_0_0_
from
    VES ves0_
where
    ves0_.STARTDATE<=TO_DATE('29/10/2018', 'DD/MM/YYYY')
    and ves0_.ENDDATE>TO_DATE('29/10/2018', 'DD/MM/YYYY')
    and ves0_.UPDATE_IND='RET'

我发布了它,因为这是一个简单的案例。这次,当我更改UPDATE_IND时,查询因相同的错误而崩溃。

UPDATE_IND只能采用八个不同的值。我测试了所有这些,并且查询针对其中六个运行,并导致其他两个导致ORA-00600。

1 个答案:

答案 0 :(得分:2)

您应该向Oracle support创建服务请求。似乎您遇到了错误 ora-600 [kdsgrp1]的原因和解决方案(文档ID 1332252.1),但您至少应使用dba进行检查。