У меня сервер Oracle работает на Linux. Когда конкретный оператор Update выполняется внутри sproc, я получаю ошибку ORA-1407, и недопустимые данные записываются в поле XmlType. Sproc пытается обновить Xml, но не пытается обновить идентификатор. Итак, сделанный звонок выглядит так:
UPDATE my_table SET x = foo, y = bar, my_xml = xmldata where the_field = my_field
returning id into l_id
В этот момент Oracle возвращает «ORA-01407: невозможно обновить идентификатор до NULL», и поле my_xml теперь содержит поврежденные данные.
Если я сделаю это несколько раз, процесс Oracle в конечном итоге умрет в казалось бы случайных местах с ошибкой «ORA-00603: Сеанс сервера ORACLE завершен из-за фатальной ошибки».
Вы видели что-нибудь подобное? Любые советы о том, какие шаги я могу предпринять для устранения неполадок?