Jdbc连接oracle(关于JDBC客户端如何连接ORACLE数据库RAC的负载均衡)

2023-12-24 04:10:02 :41

jdbc连接oracle(关于JDBC客户端如何连接ORACLE数据库RAC的负载均衡)

其实jdbc连接oracle的问题并不复杂,但是又很多的朋友都不太了解关于JDBC客户端如何连接ORACLE数据库RAC的负载均衡,因此呢,今天小编就来为大家分享jdbc连接oracle的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

本文目录

关于JDBC客户端如何连接ORACLE数据库RAC的负载均衡

  这篇文章主要介绍如何使用jdbc配置连接数据库(oracle的RAC配置的数据库)达到负载均衡的情况 该例子是以 个NODE的情况说明 希望对大家有所帮助

  我的问题是我需要设置oracle x的thin客户端连接到oracle的RAC环境上

  注:这样连接可以通过RAC自动平衡负载

   原文如下:

  Hi Tom

  I couldn t find this information easily on the net   So I m submitting it hereand hope you make it available for anyone else looking for this information

  My problem was I needed to configure the Oracle x thin driver (type IV) toconnect to an Oracle Real Application Cluster (RAC) environment

  For example assuming you have a database called RAC_DB with o nodes node and node

  You would need to configure your tnsnames ora with the following information inthe following way:

  RAC_DB =  (DESCRIPTION =    (ADDRESS_LIST =      (ADDRESS = (PROTOCOL = TCP)(HOST = node )(PORT = ))      (ADDRESS = (PROTOCOL = TCP)(HOST = node )(PORT = ))      (LOAD_BALANCE = yes)      (FAILOVER = on)    )    (CONNECT_DATA =      (SERVICE_NAME = RAC_DB)      (FAILOVER_MODE = (TYPE = SELECT)                       (METHOD = BASIC)                       (RETRIES = )                       (DELAY = )      )    )  )

  Now if you start a SQL*PLUS session then you should see a connection on thenode instance   If you start another SQL*PLUS session then Oracle shouldconnect you to the node instance (automatic load balancing)   It s actuallypretty cool to see the first time

  To pass this same information to the Oracle s JDBC thin driver you essentiallyconcatenate a shorten version of the tnsnames information above and pass this tothe driver

  String userid = scott ;  String password = tiger ;

  String tnsnames_info =    (DESCRIPTION=(ADDRESS_LIST= +    (ADDRESS=(PROTOCOL=TCP)(HOST=node )(PORT= )) +    (ADDRESS=(PROTOCOL=TCP)(HOST=node )(PORT= )) +    (LOAD_BALANCE=yes)(FAILOVER=on)) +    (CONNECT_DATA=(SERVICE_NAME=rac_db))) ;

  String url = jdbc:oracle:thin:@ + tnsnames_info;

  DriverManager registerDriver(new oracle jdbc OracleDriver());  Connection dbConnection = DriverManager getConnection(url userid password);

  That s it   If your application creates multiple connection to the database then you should see these connections load balance across the o instances

  One last note Oracle only supports connection to a RAC configuration with the i drivers so you should try to get the latest Oracle JDBC thin driver

  HTH Peter

   and we said

  you made it really hard   you just needed the service!  the load balancing andall could be/should be setup on the listener side!

  you have one listener both databases register with it as a service

  that would be another option

  Reviews

   I think we tried that and it didn t work   September Reviewer:  Peter Tran  from Houston TX USA

  Hi Tom

  I m pretty sure we tried that but it didn t work with the thin driver   Thatapproach will work if you use the OCI driver but not with the thin driver

  Please send me an example of what you mean or what files I should configure totest it out

  I m always opened to easier options

  Thanks Peter

  Followup:you need to set up mts and a single listener thats it

  pmon on each of the rac instances will tell the listener about the load and awayit goes   you might not see the round robin right off (both are not yetloaded ) so it ll be an unbalanced load balance initially but as the systemramps it ll balance out

   Unknown territory   September Reviewer:  Peter Tran  from Houston TX USA

  I m sorry but I really lost you with that last remendation   Rather thanfrustrate you with my ignorance can you remend the Oracle documentation thatI should read to brush up on this information?

  I ll read this first and e back with questions if I m still lost

  For example I don t understand why you want me to setup the database as MTS Why can t I use dedicated server mode?

  Thanks for the quick response

   Peter

  Followup:in order for a single listener to service many instances on differentmachines the listener must be servicing shared server connections thelistener cannot fork/exec a dedicated server since the listener may well notbe running on the machine the instance is on   it needs to know dispatcheraddresses to redirect the client request to

  

lishixinzhi/Article/program/Oracle/201311/17131

jdbc连接找不到oracle/simplefan/fanm

你要问的是jdbc连接找不到oracle/simplefan/fanm是什么原因吧,这是监听没有启动。jdbc连接找不到oracle/simplefan/fanm,这是监听没有启动,启动方法如下:1、使用root登陆数据库服务器。2、切换到oracle角色。3、先启动监听。4、查看监听的状态(可选)。5、使用sqlplus进入到数据库。6、先关闭数据库实例(可选)。7、直接启动数据库实例。8、等待启动完成即可。

oracle11g如何用jdbc连接数据库

你可以去oracle11g的安装目录下找到jdbc/lib/,然后把odbc.jar拷贝到java的环境下,并设置一下环境变量就可以用了。如果还是不可以用,就在Eclipse程序中右键-》Build path-》Configure Build Path,然后在Libraries中选择Add External JARS导入odbc.jar包就可以正常使用了。

如何测试jdbc能否成功连接Oracle数据库

import java.sql.*;public class getMetaData { public static void main(String args) { String driverClassName = "oracle.jdbc.OracleDriver"; String url = "jdbc:oracle:thin:@192.101.101.101:1521:orcl"; String password = "test"; String user= "test"; try { Class.forName(driverClassName); } catch (ClassNotFoundException ex) { System.out.println("加载错误!"); } Connection conn = null; try { conn = DriverManager.getConnection(url, user, password); System.out.println("连接成功"); String sql = "select id_ tid,name_ tname1 ,memo remark from tc"; PreparedStatement ps=conn.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY); ResultSet rs=ps.executeQuery(); ResultSetMetaData md = ps.getMetaData(); //ps.getMetaData();// for (int i = 1; i 《= md.getColumnCount(); i++) { System.out.println("name:"+md.getColumnName(i)+" label:"+md.getColumnLabel(i)); } sql = "select max(id_) tid,name_ tname1 ,memo remark from tc group by name_,memo"; ps=conn.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY); rs=ps.executeQuery(); md = rs.getMetaData(); //ps.getMetaData();// for (int i = 1; i 《= md.getColumnCount(); i++) { System.out.println("name:"+md.getColumnName(i)+" label:"+md.getColumnLabel(i)); } } catch (SQLException ex1) { System.out.println(ex1); System.out.println("失败"); } }}

jdbc连接oracle

关键是配置 oracle 网络服务名test的时候你ip地址指向的是192.168.1.100端口号:1521如果你要使用127.0.0.1或者localhost的端口:1521,就把test配置成127.0.0.1或者localhost配置网络服务名的步骤:1.开始-程序-Oracle—》 Configuration and Migration Tools —》 Oracle Net Configuration Assistant2.监听程序配置/命名方法配置/本地Net服务名配置/目录使用配置 中选择"本地Net服务名配置" —》下一步3.添加/重新配置/删除/重命名/测试 中选择 "添加" —》下一步4.Oralce8i或更高版本数据库或服务/Oralce8发行版8.0数据库或服务 中选择"Oralce8i或更高版本数据库或服务" —》下一步5.服务名:如:test —》 下一步6.选择用语要访问的数据库的协议TCP/TCPS/IPC/NMP一般情况下选择"TCP" —》下一步7.主机名可以是机器的IP(如:127.0.0.1/localhost),或机器名("我的电脑" —》 右键"属性" —》"计算机名" —》找到"完整的计算机名称" —》复制 ’假设为IMTI0220,如果后面有个. ,需要去掉’);端口号可以用默认的 1521,亦可以自己修改 —》下一步8.选择"是,进行测试" —》下一步NOTICE:9.如果测试失败,就按照提示进行修改,如:显示"正在连接...ORA01017:invalid username/password/;logon denied 测试未成功" 点击"更改登录" —》用户名和密码 就按照自己的需求进行修改,—》(此处会自动进行测试),如果显示"正在连接...测试成功。" —》 下一步10.Net服务名:填写你自己所需要的名称,如:text —》 下一步11.配置第一个网络服务到此结束,选择"否","完成"就退出了,如果还需要配置一个就选择"是(继续配置另外一个网络服务名)" 那就有可能是DNS解析的问题了,打开:C:\WINDOWS\system32\drivers\etc\hosts 看下有没有127.0.0.1 localhost 这行 问下你的操作系统是什么,oracl是什么版本的

jdbc连接oracle的方式3种哪3种

java与oracle的接口: 在数据库中运行JAVA可以说是ORACLE8i的最令人激动的新特性。在你创建的使用ORACLE8i 数据库的应用程序中,你可以使用与JAVA有关的新特征,轻松的将程序发布到INTERNET或INTRANET上。 Methods for Using Java in ORACLE 大家都知道JAVA在跨平台开发与INTERNET开发中已经比较流行,ORACLE8i及以后的版本中都包含了对在数据库中运行JAVA的扩展支持,这里有两种方法可以使用: JDBC:与ODBC类似, JDBC 提供了一个驱动接口使你可以在JAVA程序中访问数据库。注:JDBC驱动内嵌在数据库中虚拟机中。 SQLJ:是一个JAVA预编译器,它可以将内嵌的SQL语句转化为JAVA语句.SQLJ的使用与运行机理与其它ORACLE的与编译器(如Pro*C,Pro*COBOL)类似。实际上,为了使我们形象的记住SQLJ提供的功能,我们也可以直接将SQLJ改名为Pro*Java。 将JAVA集成到数据库中是双向的。也就是说你可以在JAVA中调用SQL与PL/SQL,也可以在SQL与PL/SQL中调用JAVA。JAVA程序可以直接通过JDBC驱动调用SQL与PL/SQL,反过来,你也可以在SQL与PL/SQL中直接调用JAVA。在数据库中,JAVA命名空间直接映射到数据库模式的命名空间中,这样可以方便JAVA的存取与调用。数据库同时提供扩展的DDL语句,通过这些语句,你可以象创建一个存储过程一样在数据中创建内嵌的JAVA程序。 Features of ORACLE JDBC Drivers 在ORACLE8i中有三种类型的JDBC驱动,他们都使用相同的 syntax, APIs, and Oracle extensions,以使JAVA代码在robust clients、Web-based Java applets, and Java stored procedures之间保持轻便灵活:三种类型如下: 1.JDBC OCI: 此驱动类似于传统的ODBC 驱动。因为它需要Oracle Call Interface and Net8,所以它需要在运行使用此驱动的JAVA程序的机器上安装客户端软件 2.JDBC Thin: 这种驱动一般用在运行在WEB浏览器中的JAVA程序。它不是通过OCI or Net8,而是通过Java sockets进行通信 ,因此不需要在使用JDBC Thin的客户端机器上安装客户端软件。 3.JDBC KPRB: 这种驱动由直接存储在数据库中的JAVA程序使用,如Java Stored Procedures 、triggers、Database JSP’s。It uses the default/ current database session and thus requires no additional database username, password or URL. 如何配置使JAVA可以通过Oracle JDBC Drivers连接到数据库:1.安装Sun JDK. 2. 修改PATH环境变量,使其指向JDK的bin目录 3. 设置CLASSPATH环境变量,使其指向正确的JDK的lib及oracle的JDBC接口。 CLASSPATH = ".;????" 3. 运行"java –version" ,验证java的版本。 如何在不同的操作系统上根据接口类型设置客户端: 对JDBC THIN接口: 在windows与unix下的设置方法一样: 1.根据jdk的版本,只需要将classesxx.zip拷贝到指定的目录,不需要安装Oracle Client。在装完数据库后,该文件会在$ORACLE_HOME/jdbc/lib目录下。2.设置CLASSPATH,使其包含上面的classesxx.zip 3.根据需要,拷贝oracle的其它zip文件并设置CLASSPATH 对JDBC OCI接口: Fow Windows: 1.安装Oracle Client. 2.根据jdk的版本,设置CLASSPATH,使其包含正确的classesxx.zip 3.根据需要设置CLASSPATH,使其指向Oracle的其它zip文件 4.设置PATH,使其包含$ORACLE_HOME/bin目录

如何使用JDBC连接oracle数据库

楼主您好1.在动手先代码之前,我们先把环境配置妥善。先从安装了Oracle的数据库服务器中,找到Oracle安装目录,然后将该目录下的jdbc\lib\classes12.jar文件拷贝到WEB发布服务器的某个目录。假设就直接放在C:\根目录下吧,然后把该路径添加到„系统--高级--环境变量‟中变量名为„CLASSPATH‟的值中,如:D:\Program Files\SQLLIB\java\db2java.zip;D:\ProgramFiles\SQLLIB\java\runtime.zip;c:classes12.jar;也就是让java能够找到这个包。21.注册加载驱动驱动名:DRIVER="oracle.jdbc.driver.OracleDriver";Class.forName("驱动类名");32.获得连接数据库地址: URL="jdbc:oracle:thin:@127.0.0.1:1521:ORCL";Connection conn = DriverManager.getConnection(数据库地址,用户名,密码);System.out.println("连接成功");43.创建Statement对象Statement 类的主要是用于执行静态 SQL 语句并返回它所生成结果的对象。通过Connection 对象的 createStatement()方法可以创建一个Statement对象。例如:Statement statament = connection.createStatement(); 具体示例创建Statement对象Statement statamentMySQL =connectMySQL.createStatement();

java中使用JDBC连接数据库的步骤是什么(javajdbc连接oracle数据库步骤)

把JDBC接口放在静态代码块static{}里边就可以达到只开启一次就可以了

publicclassConnUtil{

static{

try{

Class.forName("com.mysql.jdbc.Driver");//*链接数据库驱动

}catch(e){

e.();

}

}

publicstaticConnection()

throws{

Connectionconn=.(

//******链接路径

"jdbc:mysql://localhost:3306/tarena","root","1234");

returnconn;

}

publicstaticvoid(

//***关闭数据库

Connectionconn)throws{

conn.close();

}

开发环境MyEclipse6.5,使用spring2.5集成的jdbc连接oracle数据库,报以下异常,请各位看以下是什么原因

Cannot load JDBC driver class ’oracle.jdbc.driver.OracleDriver’你的oracal数据库连接jar包好象是找不到还有就是你用的是dbcp连接池的话也要jar包的

如何jdbc连接oracle数据库jar包

不知道你用的是oracle的那个版本,我的10g安装在d盘,在oracle安装目录下的D:\oracle\product\10.2.0\db_1\jdbc\lib有个ojdbc14.jar,就是连接数据库的,项目中的lib下一定要有(或者你从网上下载ojdbc14.jar),如果你用的是9i,或将ojdbc14.jar放到项目的lib下面也不管用的话,那你到oracle官网下载一个最新的包叫ojdbc5.jar,用它就可以连上了

关于本次jdbc连接oracle和关于JDBC客户端如何连接ORACLE数据库RAC的负载均衡的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。

jdbc连接oracle(关于JDBC客户端如何连接ORACLE数据库RAC的负载均衡)

本文编辑:admin
Copyright © 2022 All Rights Reserved 威海上格软件有限公司 版权所有

鲁ICP备20007704号

Thanks for visiting my site.