您的位置:首页 > 数据库 > Oracle

oracle 10g rac 负载均衡 一

2012-01-30 15:46 302 查看
实验平台:vmware+RH4.5+oracle10.2.0.1.0. rac

连接字符串String url="jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.111)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.112)(PORT=1521))(LOAD_BALANCE=on))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=rac)))";

一、安装完rac后,oracle会自动配置remote_listener参数,而local_listener参数默认为空,如果不配置此参数,在客户端使用sqlplus 连接的时候会报错,其中tnsnames.ora中配置的地址为VIP,错误:ORA-12545: 因目标主机或对象不存在,连接失败。

解决方法:

设置local_listener参数为:

alter system set local_listener='(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.111)(PORT = 1521))' sid='rac1';

alter system set local_listener='(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.112)(PORT = 1521))' sid='rac2';

二、如果出现以下错误时

错误1:java.sql.SQLException: Io 异常: Connection refused(DESCRIPTION=(ERR=1153)(VSNNUM=169869568)(ERROR_STACK=(ERROR=(CODE=1153)(EMFI=4)(ARGS='(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.112)(PORT=1521))'))(ERROR=(CODE=305)(EMFI=1))))
错误2:java.sql.SQLException: Io exception: The Network Adapter could not establish the connection
导致以上错误出现的关键因素有四个,

1是VIP地址中是否含有不足三位数的现象

2是odjbc14.jar的版本是否与数据库版本一致

3local_listener是否设置

4连接字符串中是否含有(SERVER=DEDICATED)

以下是测试结果

if(版本一致){	//表示ojdbc14.jar与数据库服务器版本一致
if(local_listener!=''){	//表示对local_listener进行设置
if(server=dedicated){	//表示在连接字符串中存在此配置项
if(VIP地址不补0){ //表示连接字符串的IP地址没有补0,如:192.168.1.111
连接500次,成功500次.节点1共150次,节点2共350次。
}
else{	//VIP补0,如192.168.001.111
连接500次,成功500次.节点1共244次,节点2共256次。
}
}
else{	//连接字符串没有(server=dedicated)
if(VIP地址不补0){ //表示连接字符串的IP地址没有补0,如:192.168.1.111
连接500次,成功500次.节点1共322次,节点2共178次。
}
else{	//VIP补0,如192.168.001.111
连接500次,成功500次.节点1共256次,节点2共254次。
}
}
}
else{	//对local_listener没有设置,即为空
if(server=dedicated){	//表示在连接字符串中存在此配置项
if(VIP地址不补0){ //表示连接字符串的IP地址没有补0,如:192.168.1.111
连接500次,成功229次,失败271次,产生错误2.节点1共48次,节点2共181次。
}
else{	//VIP补0,如192.168.001.111
连接500次,成功500次.节点1共243次,节点2共257次。
}
}
else{	//连接字符串没有(server=dedicated)
if(VIP地址不补0){ //表示连接字符串的IP地址没有补0,如:192.168.1.111
连接500次,成功500次.节点1共260次,节点2共240次。
}
else{	//VIP补0,如192.168.001.111
连接500次,成功500次.节点1共261次,节点2共239次。
}
}
}
else{	//版本不一致时
if(local_listener=='')&&(VIP不补0)&&(server=DEDICATED){
连接500次,成功214次,失败286次,产生错误2.节点1共214次,节点2共0次。
}
else if(local_listener=='')&&(VIP不补0)&&(连接字符中不含server=DEDICATED){
连接500次,成功236次,失败264次,产生错误2.节点1共196次,节点2共40次。
}
else if(local_listener设置)&&(VIP不补0)&&(连接字符中不含server=DEDICATED){
连接500次,成功257次,失败243次,产生错误1.节点1共244次,节点2共13次。
}
else if(local_listener设置)&&(VIP不补0)&&(server=DEDICATED){
连接500次,成功247次,失败253次,产生错误1.节点1共0次,节点2共247次。
}
else if(local_listener=='')&&(VIP补0)&&(连接字符中不含server=DEDICATED){
连接500次,成功500次,节点1共260次,节点2共240次。
}
else if(local_listener=='')&&(VIP补0)&&(server=DEDICATED){
连接500次,成功500次,节点1共247次,节点2共253次。
}
else if(local_listener设置)&&(VIP补0)&&(server=DEDICATED){
连接500次,成功500次,节点1共212次,节点2共288次。
}
else if(local_listener设置)&&(VIP补0)&&(连接字符中不含server=DEDICATED){
连接500次,成功500次,节点1共243次,节点2共257次。
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: