Oracle RAC 客户端连接负载均衡(Load Balance)
2012-10-11 16:11:30 来源:WEB开发网核心提示:三、测试负载均衡(load balance)1、启用load balance的测试 oracle@SZDB:~> more load_balance.sh #!/bin/bashfor i in {1..100}doecho $isqlplus -S system/oracle@ORA10G <<EO
三、测试负载均衡(load balance)
1、启用load balance的测试
oracle@SZDB:~> more load_balance.sh
#!/bin/bash
for i in {1..100}
do
echo $i
sqlplus -S system/oracle@ORA10G <<EOF
select instance_name from v\$instance;
EOF
sleep 1
done
exit 0
# Author: Robinson Cheng
# Blog : http://blog.csdn.net/robinson_0612
oracle@SZDB:~> ./load_balance.sh >load_bal.log
oracle@SZDB:~> head -20 load_bal.log
1
INSTANCE_NAME
----------------
ora10g2
2
INSTANCE_NAME
----------------
ora10g1
3
INSTANCE_NAME
----------------
ora10g2
4
oracle@SZDB:~> grep ora10g1 load_bal.log |wc -l
47
oracle@SZDB:~> grep ora10g2 load_bal.log |wc -l
53
从上面的log日志中可以看出启用客户端的负载均衡基本上使得从客户端发起连接的能够保持均衡。
2、未启用load balance的测试
从客户端的tnsnames.ora中移出(LOAD_BALANCE = yes)选项,然后继续使用上面的脚本来测试
oracle@SZDB:~> grep ora10g1 no_load_bal.log |wc -l
100
oracle@SZDB:~> grep ora10g2 no_load_bal.log |wc -l
0
从上面的日志中可以看出当移出LOAD_BALANCE = yes项后,所有的用户连接请求都被定为到ora10g1,这是因为连接请求从tnsnames.ora中选择
列在ADDRESS项中排在第一行的位置。
下面我们关闭实例ora10g1,再来测试连接情形
oracle@bo2dbp:~> srvctl stop instance -d ora10g -i ora10g1
oracle@SZDB:~> ./load_balance.sh >no_load_bal_new.log
oracle@SZDB:~> grep ora10g1 no_load_bal_new.log |wc -l
0
oracle@SZDB:~> grep ora10g2 no_load_bal_new.log |wc -l
100
由于实例ora10g1已经关闭,因此所有的连接请求都被分配到ora10g2。
- ››oracle 中 UPDATE nowait 的使用方法
- ››Oracle ORA-12560解决方法
- ››Oracle 10g RAC 常用维护命令
- ››Oracle如何在ASM中定位文件的分布
- ››Oracle的DBMS_RANDOM.STRING 的用法
- ››oracle 外部表导入时间日期类型数据,多字段导入
- ››Oracle中查找重复记录
- ››oracle修改用户登录密码
- ››Oracle创建删除用户、角色、表空间、导入导出等命...
- ››Oracle中登陆时报ORA-28000: the account is lock...
- ››Oracle数据库在配置文件中更改最大连接数
- ››Oracle中在pl/sql developer修改表的两种方式
更多精彩
赞助商链接
