現在接続しているデータベースがダウンすると、あるデータベース・ホストから別のデータベース・ホストにフェイルオーバーする機能が必要です。我々が読んだことから、"透過的アプリケーションフェイルオーバー(TAF)"と"高速接続フェイルオーバー(FCF)"は、Oracle 10以降でのみ利用可能です。しかし、私たちの環境はOracle 9.2.0.8です。OracleとのJava oci db接続フェイルオーバー9
データベース接続のフェールオーバーを保証する最も優れたJavaソリューションは何でしょうか? ociドライバを使用すると、シンドライバよりも優れたソリューションに見えますが、「Unsatisfied Link Error:ocijdbc11.dllがjava.library.pathにない」という問題が発生しています。私たちはocijdbc11.dllありませんが、我々は$ {ORACLE_HOME}/binに
環境にocijdbc10.dllを持っています:
- データベース= Oracleは二つのサーバ をサポートするRACと9.2.0.8
- サーバ=のSolaris 10
- クライアント=のWindows XP、サービスパック3
- JDK 1.6.0_20 =
- 図書館= てojdbc6.jar
- クライアントには、Oracle Thickクライアント 10.1.0.2がインストールされています。
MY_SID =
(DESCRIPTION =
(FAILOVER =)の
(ADDRESS =(PROTOCOL = TCP:これは彼らのOracle binディレクトリにtnsnames.oraの
当社の接続文字列を、それらをocijdbc10.dllいます)(HOST = HOST1)(PORT = 1521))
(ADDRESS =(PROTOCOL = TCP)(HOST = HOST2)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = db.fully.qualified.name )
(FAILOVER_MODE =
(TYPE =選択)
(METHOD =基本))))
次のように私たちは、データソースを作成します。
- のBasicDataSource dsは=新しい
- のBasicDataSource();
- ds.setUsername( "username");
- ds.setPassword( "password");
- ds.setUrl( "jdbc:oracle:oci:@MY_SID");
- ds.setDriverClassName( "oracle.jdbc.driver.OracleDriver");