Клиентский кеш Oracle OCI не работает - PullRequest
2 голосов
/ 07 марта 2011

Я использую Oracle Database 11g Release 11.2.0.2.0 и пытаюсь включить кэш клиента oci. Это не работает Изменения конфигурации, которые я сделал, чтобы включить его, -

  1. Включил кэш набора результатов клиента, установив для параметра сервера client_result_cache_size значение 10485760 (10 МБ)
  2. Перезапустил экземпляр oracle после установки вышеуказанного параметра
  3. Добавлена ​​аннотация таблицы путем выполнения оператора ALTER TABLE emp RESULT_CACHE (MODE FORCE). Я проверил, что аннотация применяется позже по запросу к пользовательской таблице.
  4. Включено кэширование операторов на стороне клиента, т.е. в драйвере JDBC.
  5. Использовал подготовленные операторы для выполнения запроса, чтобы ускорилось кэширование операторов. Из журналов драйверов я убедился, что при выполнении последующих запросов после первого использовался тот же дескриптор оператора.

После трехкратного выполнения запроса на подготовку подготовленного оператора я проверил представление CLIENT_RESULT_CACHE_STATS $. Но это представление не привело ни к каким строкам.

В рамках устранения неполадок я даже попытался добавить подсказку / * + RESULT_CACHE * / к запросу, но представление не дало никакого результата.

Из профилировщика (flextracer) я мог видеть, что OCI-вызовы все еще выполняются на сервере для получения результирующего набора запроса select. Также при включении трассировки sql из tkprof я увидел, что при каждом выполнении запроса увеличивается количество строк, извлекаемых на сервере, что указывает на то, что кэширование набора результатов клиента в OCI не работает.

Есть ли какие-то шаги, которые я пропустил?

Заранее спасибо.

1 Ответ

3 голосов
/ 07 марта 2011

Я понял, что функция кэширования, которую я пытаюсь включить, недоступна в Standard Edition. Он доступен только в Enterprise Edition - http://download.oracle.com/docs/cd/B28359_01/license.111/b28287/editions.htm#BABDJGGI

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