在通过JDBC连接RAC的时候,我由于各种原因会出现以下问题。
问题一:通过JDBC连接如果使用ip连接方式
例:
jdbc:oracle:thin:@(DESCRIPTION =(ADDRESS_LIST =
(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.36.6)(PORT=1521))
(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.36.7)(PORT=1521)))
(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=gfront )))
Host={ip地址的方式}在是无法连接到RAC设备的。
会抛出一个 NL Exception 异常(NL异常是指你的jdbc url配置不正确才会出现的异常。)
问题二:在配置过程中如果不了解jdbc连接方式的会省去jdbc:oracle:thin:@ url前面的当然这只是我在操作中的疏忽。且"Host="后面赋值必须为主机的名称。ip地址是无法连接的。
正确的RAC配置如下:
jdbc:oracle:thin:@(DESCRIPTION =(ADDRESS_LIST =
(ADDRESS=(PROTOCOL=TCP)(HOST=vip1)(PORT=1521))
(ADDRESS=(PROTOCOL=TCP)(HOST=vip2)(PORT=1521)))
(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=gfront )))
下面是一段Demo代码:
RAC配置环境相关信息
192.168.36.6 vip1
192.168.36.7 vip2
数据库的端口号为:1521
实例名:gfront1 和gfront2
数据库的端口号为:1521
用户:system
密码:111111
package com.rac.jdbc.url;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
public class RacUrl {
public static void main(String[] args) throws SQLException, ClassNotFoundException {
String connStr = "jdbc:oracle:thin:@(DESCRIPTION ="
+ "(ADDRESS_LIST ="
+ "(ADDRESS=(PROTOCOL=TCP)(HOST=vip1)(PORT=1521))"
+ "(ADDRESS=(PROTOCOL=TCP)(HOST=vip2)(PORT=1521))"
+ ")" + "(CONNECT_DATA=" + "(SERVER=DEDICATED)"
+ "(SERVICE_NAME=gfront )" + ")" + ")";
int isDBA = 1;
String jdbc = "oracle.jdbc.driver.OracleDriver";
Class.forName(jdbc);
Connection conn = null;
if (isDBA == 1) {
Properties props = new Properties();
props.put("user", "system");
props.put("password", "111111");
props.put("internal_logon", "sysdba");
conn = DriverManager.getConnection(connStr, props);
System.out.println(conn == null?"失败":"成功");
} else {
conn = DriverManager.getConnection(connStr, "system", "111111");
System.out.println(conn == null?"失败":"成功");
}
}
}
分享到:
相关推荐
在这样的环境下,配置WebLogic连接Oracle RAC数据源是一项关键任务,它确保了应用能够透明地访问RAC集群中的任何节点,实现高可用性和负载均衡。 首先,理解Oracle RAC的工作原理至关重要。RAC允许多个实例同时访问...
对于RAC环境而言,该URL具有特殊格式,能够支持多节点间的负载均衡和故障转移功能。具体来说,以下参数是重要的: - **`(DESCRIPTION)`**:描述符,包含多个子元素,如`FAILOVER`、`ADDRESS_LIST`等。 - **`...
配置 Oracle RAC 集群数据源需要考虑多个方面,包括数据源 URL 的配置、连接池的配置、负载均衡和故障转移、服务器配置和集群配置等。正确地配置 Oracle RAC 集群数据源可以提高系统的性能和可用性。
在Java应用程序中,使用JDBC(Java ...如果是集群环境,推荐使用Service Name,因为它能更好地处理负载均衡和故障切换。无论哪种情况,确保正确配置驱动类和数据库连接参数,以便应用程序能够成功连接到Oracle数据库。
在Websphere中配置数据源时,需要正确设置JDBC URL以便与Oracle RAC集群通信。例子中的JDBC URL是`jdbc:oracle:thin:@(description=(address=(protocol=tcp)(host=10.41.162.93)(port=1521))(address=(protocol=tcp)...
2. **RAC环境下数据源配置注意事项**:在RAC环境下配置数据源,关键在于正确设置URL中的`DESCRIPTION`属性,包括`ADDRESS_LIST`、`FAILOVER`、`LOAD_BALANCE`等,以实现负载均衡和故障转移。 #### 三、高可用性与...
- RAC(Real Application Clusters):允许多台服务器共享同一数据库实例,提供高可用性和负载均衡。 标签“oracle”进一步强调了这个压缩包与Oracle数据库的紧密关系,可能包含如何在Oracle环境下使用JDBC的示例或...
- 通过负载均衡技术分散请求,减轻单个节点的压力。 #### Part VI High Availability 这部分重点讲解了如何构建高可用性的Oracle JDBC应用程序。 **Oracle RAC:** - Oracle Real Application Clusters (RAC) ...
服务名是在Oracle 9i之后引入的,它可以映射到一个或多个SID,允许负载均衡和故障转移。在上述配置中,`eskdb`服务名对应的就是SID "eskdb1"。 在Oracle数据库的URL连接字符串中,格式通常为`jdbc:oracle:thin:@...
配置时需指定目标数据库集群、RAC侦听器和JDBC驱动等。 2. Web 应用的部署 Web应用部署是WebLogic Server的核心功能,包括以下步骤: 1.2.1 应用部署配置 首先,你需要打包应用为WAR或EAR文件,然后在WebLogic管理...
- RAC(Real Application Clusters):支持多实例的高可用性和负载均衡。 - ACID(原子性、一致性、隔离性、持久性)事务支持,确保数据的一致性。 - 分区表:将大型表分成逻辑部分,提高查询性能。 - ...
通过这样的配置,可以实现数据库连接的负载均衡,提高系统的稳定性和可用性。 #### 六、集群HTTP协议地址清除 为了解决访问地址映射问题,需要清除集群HTTP协议的相关地址配置。具体操作如下: 1. 在WebLogic...
2. **Real Application Clusters (RAC)**:Oracle 11g RAC允许多个服务器节点共享同一个数据库实例,提高了系统的可用性和可扩展性,支持负载均衡和故障切换。 3. **Automatic Workload Repository (AWR)**:AWR...