Oracle getConnection slow

В проекте Java я использую банку ojdbc6

    <dependency>
        <groupId>com.oracle</groupId>
        <artifactId>ojdbc6</artifactId>
        <version>11.2.0.1.0</version>
        <scope>compile</scope>
    </dependenc>

Первый раз за день, когда я запускаю, dataSource.getConnection () работает быстро. Второй раз обычно нормально. Следующие несколько раз займут около 45 секунд. После этого потребуется несколько минут. После того, как я установил ПЕРВОЕ соединение для данного приложения, любые новые соединения, которые я получаю, выполняются очень-очень быстро. Эта задержка связана с получением только ПЕРВОГО соединения для данного прогона.

Что делает мое первое соединение таким медленным?

Я смотрю netstat и не вижу, чтобы какое-либо соединение зависало после успешного выполнения. Пробовали несколько разных пулов соединений ( DBCP, C3PO ), но безуспешно. Отладка с использованием исходного кода, задержка составляет 100% в строке org.springframework.jdbc.datasource.DataSourceUtils :

Connection con = dataSource.getConnection();

Есть идеи?

Отредактировано для получения дополнительных сведений

1) Я используя пул соединений (DBCP или C3PO), который сохраняет соединения для использования в будущем. Когда я говорю о создании нового соединения, я имею в виду, когда используется первое соединение. Мне нужно перейти в БД и получить НОВОЕ соединение. Конечно, я могу возвращаться и получать одно и то же соединение из пула соединений снова и снова. Но одновременно получить секунду тоже быстро.

2) Я не знаю, через сколько соединений моя БД позволяет мне войти в систему. Есть идеи, где это свойство находится в oracle?

6
задан bwawok 31 March 2011 в 16:42
поделиться