Если вы используете драйверы JDB C 11g. Вам необходимо использовать версию 11.2.0.4, а затем применить исправление слияния 24559240 поверх 11.2.0.4.
Patch 24559240: MERGE REQUEST ON TOP OF 11.2.0.4.0 FOR BUGS 19030178 19154304 20426934
Bugs Resolved by This Patch
19030178 ADD TLSV1.1 AND TLSV1.2 IN JDBC THIN
19154304 JDBC: RETRY_COUNT DOES NOT RETRY WHEN SERVICE DOWN AS REQUIRED
20426934 THIN JDBC NEED TO INTERPRET A NEW ERROR SEND BY LISTENER ON REACHING RATE_LIMIT
В случае, если вы используете драйверы JDB C 12 c или выше. CONNECT_TIMEOUT частично игнорируется. Вместо этого вы должны использовать TRANSPORT_CONNECT_TIMEOUT. Просто помните, что значение TRANSPORT_CONNECT_TIMEOUT может быть в секундах или миллисекундах - в зависимости от версии драйвера JDB C.
Попробуйте использовать строку подключения следующим образом:
jdbc:oracle:thin:@(DESCRIPTION=
(TRANSPORT_CONNECT_TIMEOUT=5)
(CONNECT_TIMEOUT=5)
(RETRY_DELAY=10)
(RETRY_COUNT=2)(FAILOVER=ON)(LOAD_BALANCE=off)
(ADDRESS=(PROTOCOL=TCP)(HOST=db1-scan)(PORT=1521))
(ADDRESS=(PROTOCOL=TCP)(HOST=db2-scan)(PORT=1521))
(CONNECT_DATA=(SERVICE_NAME=testsrv)))