01ноя ORA-03113: end-of-file on communication channel; параметры инициализации query_rewrite_enabled, query_rewrite_integrity.

После перехода на версию 9.2.0.6, который происходил в авральном порядке и не был продуман, некоторые режимы в эксплуатируемых задачах перестали работать: ORA-03113: end-of-file on communication channel. С этой ошибкой попробуй разберись, что к чему. Порывшись в логах задач, сделали вывод, что используются индексы по функциям и материализованные представления.

Значит, нужно пользователю иметь привилегию query_rewrite и параметры инициализации: query_rewrite_enabled='TRUE', query_rewrite_integrity='TRUSTED'.

Внесли изменения в init.ora и все чудесным образом заработало. Установить эти параметры можно также на уровне сессии командой ALTER SESSION.

Параметр query_rewrite_enabled позволяет включать и выключать перезапись запроса. Значение TRUE – оптимизатору позволено переделать запрос так, чтобы он мог использовать индексы по функции и материализованные представления.

Параметр query_rewrite_integrity определяет степень, до которой должна выполняться перезапись запроса. Значение Trusted сообщает оптимизатору о том, что нужно доверять коду разработчика, то есть код является детерминистическим (для одинаковых исходных данных – одинаковый результат). Если же код на самом деле не является детерминистическим, то результаты запроса могут быть некорректными. Поэтому вся ответственность за результаты запроса ложится на разработчика.

Успехов в труде и личной жизни!

Комментарии (0)



Новый комментарий

Имя
Электронная почта
 
Ваш сайт
Защита от спама: укажите сумму 2 + 7
   
 

Поиск по блогам



Подпишись на RSS:

RSS - Подписаться на блог



Читателям


Рекомендую к прочтению





Разделы блога



Последние публикации



Последние коментарии