Есть предположение что когда соединение физически уже разорвано — оно по некоторым причинам может оставаться в пуле соединений.
На практике это приводит к ряду exception, например при попытке выполнить запрос будет выдано ORA-01012: not logged on.
Отсюда несколько вопросов :
1) как можно эмулировать данную ситуацию, т.к. ждать когда ошибка произойдет — очень долго.
2) каким инструментом можно мониторить пул соединений .net, посмотреть какие на данный момент соединения закешированы
3) переинициализировать пул соединений, например если в try{ } catch{ } поймалась ошибка ORA-01012 то выполнить команду чтоб заставить удалить определенное соединение из пула.