JPA-запрос, выполняемый в oracle, завершается неудачно, в зависимости от значений, с ORA-00600 - PullRequest
0 голосов
/ 29 октября 2018

Я работаю над приложением, которое использует построитель критериев для выполнения поиска по нескольким критериям. Существует ошибка, при которой при выборе двух конкретных критериев происходит сбой приложения. Я использовал свойство 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 голосов
/ 29 октября 2018

Вы должны создать запрос на обслуживание для Поддержка Oracle . Похоже, вы столкнулись с ошибкой Причины и решения для ora-600 [kdsgrp1] (ID документа 1332252.1) , но вы должны проверить хотя бы его с помощью dba.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...