Доменные индексы - это особый тип индекса.Мы можем создать наш собственный, используя OCI, но есть вероятность, что вы используете один из типов индексов, предлагаемых Oracle Text.Я говорю это, так как ваша таблица содержит столбцы свободного текста.
Наиболее часто используемый текстовый индекс - это тип индекса CTXSYS.CONTEXT.Суть этого типа индекса в том, что он не поддерживается транзакционно, чтобы минимизировать усилия, связанные с индексацией больших документов.Вместо этого происходит то, что фоновый процесс, такой как задание базы данных, регулярно запускает синхронизацию индекса.Индекс неприменим во время синхронизации.Если по какой-либо причине повторная синхронизация завершится неудачно, вам потребуется удалить и заново создать индекс.
Это регулярное явление?Если это так, возможно, вам придется пересмотреть свою заявку.Возможно, другой тип индекса (например, CTXSYS.CTXCAT) может быть более подходящим.Одна вещь, которая поражает меня в вашем сообщении об ошибке, - то, что ваш оператор UPDATE затрагивает множество столбцов, включая то, что выглядит как первичный ключ.Это заставляет меня думать, что у вас есть один общий оператор обновления, который устанавливает каждый столбец независимо от того, изменился ли он на самом деле.Это плохая практика с обычными индексами;оно убьет ваше приложение, если вы используете текстовые индексы.