2014-10-02 2 views
0

Доброе время!Конфигурация клиентской стороны Oracle FCF OSN

Прежде всего, здесь моя среда:

  • Java 1,7
  • Tomcat 7
  • Oracle UCP пула соединений драйвера
  • Thin JDBC
  • Oracle 10g база данных RAC и SCAN (some information)

Мне нужно настроить функцию Oracle FCF. Существует несколько статей о его конфигурации: Spring documentation (1), complete example (2), ...

Я выполнил все шаги, описанные в статье (1), и я также настроил ведение журнала UCP, где я вижу, что FCF на самом деле включен.

Смущает для меня является следующее утверждение сюда во второй статье:

FAST CONNECTION FAILOVER PREREQUISITES 
... 

5.) The JVM in which your JDBC instance is running must have 
* oracle.ons.oraclehome set to point to your ORACLE_HOME. For example: 
* 
* -Doracle.ons.oraclehome=C:\oracle\product\10.2.0\db_1 

... 

Вопрос:

Моя база данных Oracle (RAC) находится на удаленном сервере, и я использую тонкий JDBC, поэтому что мне делать здесь (действительно ли нужно установить этот параметр и, если да, то как)? В первой статье о настройке такого параметра JVM нет смысла говорить, что мне нужно настроить параметр «ONSConfiguration» источника данных, где я должен перечислить все узлы RAC ...

ОБНОВЛЕНИЕ 1:

Кроме того, из второй статье:

CLIENT-SIDE ONS CONFIGURATION 
... 
(2) ONS daemon on the client side 
Example ons.config file for a client: 
... 

в начале этой статьи сказано, что «на стороне клиента» представляет собой Java-приложение, в то время как «на стороне сервера» это база данных (RAC). В самом деле, необходимо использовать файл 'ons.config' в java-приложении-приложении в случае использования тонкого драйвера JDBC?

UDPADE 2: Из Oracle documentation:

Remote Configuration 

UCP for JDBC supports remote configuration of ONS through the SetONSConfiguration pool property. The ONS property value is a string that closely resembles the content of an ons.config file. The string contains a list of name=value pairs separated by a new line character (\n). The name can be: nodes, walletfile, or walletpassword. The parameter string should at least specify the ONS configuration nodes attribute as a list of host:port pairs separated by a comma. SSL would be used when the walletfile attribute is specified as an Oracle wallet file. 

Applications that use remote configuration must set the oracle.ons.oraclehome system property to the location of ORACLE_HOME before starting the application. For example: java -Doracle.ons.oraclehome=$ORACLE_HOME ... 

Но как я могу установить переменную ORACLE_HOME, когда у меня нет локальной установки базы данных Oracle, то есть то, что тонкий водитель о, не так ли?

ответ

1

Если вы хотите использовать только UCP бассейн, то вам просто необходимо эту установку:

PoolDataSource pds = PoolDataSourceFactory.getPoolDataSource(); 
pds.setONSConfiguration("nodes=10.247.43.111:4500, 10.247.43.112:4500"); 
pds.setFastConnectionFailoverEnabled(true); 

где "узлы = 10.247.43.111: 4500, 10.247.43.112:4500" является список ONS listerers

10.247.43.111:4500 - удаленный ons listerner на узле1
10.247.43.112:4500 - удаленный ons listerner на узле2
и т. Д.

посмотреть хороший пример:

http://www.idevelopment.info/data/Programming/java/jdbc/High_Availability/FastConnectionFailoverExampleThin.java

и этого http://docs.oracle.com/cd/B19306_01/java.102/b14355/fstconfo.htm#CEGGDDFJ

ORACLE_HOME, необходимый для подключения к локальному ONS демона.

+0

Большое спасибо! – Dmitry