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

dbstalker, 01 ноября

После перехода на версию 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 сообщает оптимизатору о том, что нужно доверять коду разработчика, то есть код является детерминистическим (для одинаковых исходных данных – одинаковый результат). Если же код на самом деле не является детерминистическим, то результаты запроса могут быть некорректными. Поэтому вся ответственность за результаты запроса ложится на разработчика.

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

 

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

Я не спамер: введите суму 9+2



 

От авторов блога

О Блоге - прочитай перед началом.

Задать вопрос и получить ответ - уже решено 94 вопросов

Глоссарий - список терминов и сокращений


 
 

Бизнес форум

Последние темы:

Печь булерьян в дом
21 сентября, 1 ответа
Как Открыть Футбольную Школу
20 сентября, 1 ответа
IP телефония
20 сентября, 1 ответа