Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Oracle 9进行Java oci db连接故障切换_Java_Oracle_Jdbc_Thin_Oracle Call Interface - Fatal编程技术网

使用Oracle 9进行Java oci db连接故障切换

使用Oracle 9进行Java oci db连接故障切换,java,oracle,jdbc,thin,oracle-call-interface,Java,Oracle,Jdbc,Thin,Oracle Call Interface,我们需要在当前连接的数据库主机发生故障的情况下,能够从一个数据库主机故障切换到另一个数据库主机。据我们所知,“透明应用程序故障切换(TAF)”和“快速连接故障切换(FCF)”仅在Oracle 10及更高版本上可用。但是我们的环境有Oracle 9.2.0.8 确保数据库连接故障切换的最佳java解决方案是什么?使用oci驱动程序似乎是比精简驱动程序更好的解决方案,但是,我们不断得到“未满足的链接错误:ocijdbc11.dll不在java.library.path上”。我们没有ocijdbc11

我们需要在当前连接的数据库主机发生故障的情况下,能够从一个数据库主机故障切换到另一个数据库主机。据我们所知,“透明应用程序故障切换(TAF)”和“快速连接故障切换(FCF)”仅在Oracle 10及更高版本上可用。但是我们的环境有Oracle 9.2.0.8

确保数据库连接故障切换的最佳java解决方案是什么?使用oci驱动程序似乎是比精简驱动程序更好的解决方案,但是,我们不断得到“未满足的链接错误:ocijdbc11.dll不在java.library.path上”。我们没有ocijdbc11.dll,但在${ORACLE_HOME}/bin中有ocijdbc10.dll

环境:

  • 数据库=Oracle 9.2.0.8,带有支持两台服务器的RAC
  • 服务器=Solaris 10
  • 客户端=Windows XP,service pack 3
  • JDK=1.6.0_20
  • Library=ojdbc6.jar
  • 客户端具有Oracle厚客户端 10.1.0.2已安装。这将为他们提供oracle bin目录中的ocijdbc10.dll
tnsnames.ora中的连接字符串:
我的SID=
(说明=
(故障切换=打开)
(地址=(协议=tcp)(主机=主机1)(端口=1521))
(地址=(协议=tcp)(主机=主机2)(端口=1521))
(连接数据=
(服务名称=db.full.qualified.NAME)
(故障切换模式=
(类型=选择)
(方法=基本)

我们创建一个数据源,如下所示:

  • BasicDataSource ds=new
  • BasicDataSource()
  • ds.setUsername(“用户名”)
  • 设置密码(“密码”)
  • setUrl(“jdbc:oracle:oci:@MY_-SID”)
  • setDriverClassName(“oracle.jdbc.driver.OracleDriver”)
如果您在10g客户机上遇到“未满足的链接错误:ocijdbc11.dll不在java.library.path上”,听起来像是在使用11g jdbc驱动程序。您需要使用10g jdbc驱动程序