Как проверить, работает ли свойство Oracle ValidateConnection?

Кто-то сказал мне, что если я установлю для свойства «ValidateConnection» в Oracle значение TRUE, приложение сможет обрабатывать следующие случаи:

  1. Тайм-ауты на сетевом оборудовании, которые отключают TCP-соединения по истечении определенного времени и/или бездействия.
  2. Физические разрывы соединения, такие как протягивание кабелей, перезагрузка сетевого оборудования и т. д.
  3. Сервер Oracle перезапускается или DBA логически закрывает соединение на стороне сервера.

Мои вопросы:

  1. Если для ValidateConnection установлено значение TRUE, может ли оракул обрабатывать вышеуказанные случаи?
  2. Нужно ли мне писать дополнительный код, или пул соединений Oracle просто будет ждать, пока время ожидания соединения не истечет?
  3. Какие методы или инструменты я могу использовать для проверки этих случаев? Пример кода или ссылка на другую статью будут очень полезны.

Спасибо.


person donny    schedule 05.01.2012    source источник


Ответы (1)


ValidateConnection просто говорит Oracle проверить соединение из пула, прежде чем передать его приложению. Это предотвращает получение уже отключенных подключений из пула подключений. Чтобы ответить на ваш вопрос о том, какие ситуации обрабатываются с помощью ValidateConnection, я думаю, мне нужно знать, что вы подразумеваете под «обработкой». Если сервер Oracle был отключен от Интернета, ValidateConnection ничего не может с этим поделать. Однако, как только он вернется в оперативный режим, ValidateConnection предотвратит передачу Oracle отключенных подключений вашего приложения из пула подключений. Ссылка ниже дает немного больше информации, и он кратко описывает, как он тестировал ValidateConnection в своей среде.

http://spdeveloper.net/2009/10/disconnected-odp-net-and-system-data-oracleclient-connections/

person Zach Green    schedule 30.01.2012