本文共 4706 字,大约阅读时间需要 15 分钟。
目前很多生产数据库都是两节点RAC,应用连接的数据库通常会连接SCAN IP或者VIP,这里做一个小实验,如果我们使用VIP连接,
应该怎样配置我们的客户端,负载均衡是否是严格意义上的轮训机制,只有通过自己的测试才能得到准备的答案。
tnsnames.ora配置
<rac01:orcl1:/u01/app/oracle/product/12.1.0/dbhome_1/network/admin>$less tnsnames.ora
# tnsnames.ora Network Configuration File: /u01/app/oracle/product/12.1.0/dbhome_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
orcl =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = rac-scan)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
vip =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.203)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.204)(PORT = 1521))
(LOAD_BALANCE = yes)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
2.测试脚本如下
<rac01:orcl1:/u01/app/oracle/product/12.1.0/dbhome_1/network/admin>$
<rac01:orcl1:/u01/app/oracle/product/12.1.0/dbhome_1/network/admin>$less load_balance.sh
#!/bin/bash
for i in {1..100}
do
echo $i
sqlplus -S system/oracle@vip <<EOF
select instance_name from v\$instance;
select count(*) from t1;
EOF
sleep 1
done
exit 0
3.开始测试,观察
<rac01:orcl1:/u01/app/oracle/product/12.1.0/dbhome_1/network/admin>$sh load_balance.sh
1
INSTANCE_NAME
----------------
orcl1
COUNT(*)
----------
2910624
2
INSTANCE_NAME
----------------
orcl2
COUNT(*)
----------
2910624
3
INSTANCE_NAME
----------------
orcl2
COUNT(*)
----------
2910624
4
INSTANCE_NAME
----------------
orcl1
COUNT(*)
----------
2910624
5
INSTANCE_NAME
----------------
orcl1
COUNT(*)
----------
2910624
6
INSTANCE_NAME
----------------
orcl1
COUNT(*)
----------
2910624
7
INSTANCE_NAME
----------------
orcl1
COUNT(*)
----------
2910624
8
INSTANCE_NAME
----------------
orcl2
COUNT(*)
----------
2910624
9
INSTANCE_NAME
----------------
orcl1
COUNT(*)
----------
2910624
10
INSTANCE_NAME
----------------
orcl2
COUNT(*)
----------
2910624
11
INSTANCE_NAME
----------------
orcl1
COUNT(*)
----------
2910624
12
INSTANCE_NAME
----------------
orcl2
COUNT(*)
----------
2910624
13
INSTANCE_NAME
----------------
orcl2
COUNT(*)
----------
2910624
14
INSTANCE_NAME
----------------
orcl2
COUNT(*)
----------
2910624
15
INSTANCE_NAME
----------------
orcl2
COUNT(*)
----------
2910624
16
INSTANCE_NAME
----------------
orcl2
COUNT(*)
----------
2910624
17
INSTANCE_NAME
----------------
orcl2
COUNT(*)
----------
2910624
18
INSTANCE_NAME
----------------
orcl2
COUNT(*)
----------
2910624
19
INSTANCE_NAME
----------------
orcl2
COUNT(*)
----------
2910624
20
INSTANCE_NAME
----------------
orcl1
COUNT(*)
----------
2910624
21
INSTANCE_NAME
----------------
orcl2
COUNT(*)
----------
2910624
22
INSTANCE_NAME
----------------
orcl1
COUNT(*)
----------
2910624
23
INSTANCE_NAME
----------------
orcl2
COUNT(*)
----------
2910624
24
INSTANCE_NAME
----------------
orcl2
COUNT(*)
----------
2910624
25
INSTANCE_NAME
----------------
orcl2
COUNT(*)
----------
2910624
26
INSTANCE_NAME
----------------
orcl1
COUNT(*)
----------
2910624
27
INSTANCE_NAME
----------------
orcl2
COUNT(*)
----------
2910624
28
INSTANCE_NAME
----------------
orcl2
COUNT(*)
----------
2910624
29
INSTANCE_NAME
----------------
orcl2
COUNT(*)
----------
2910624
30
INSTANCE_NAME
----------------
orcl2
COUNT(*)
----------
2910624
31
INSTANCE_NAME
----------------
orcl2
COUNT(*)
----------
2910624
32
INSTANCE_NAME
----------------
orcl2
COUNT(*)
----------
2910624
33
INSTANCE_NAME
----------------
orcl2
COUNT(*)
----------
2910624
34
INSTANCE_NAME
----------------
orcl2
COUNT(*)
----------
2910624
35
INSTANCE_NAME
----------------
orcl2
COUNT(*)
----------
2910624
36
INSTANCE_NAME
----------------
orcl2
COUNT(*)
----------
2910624
37
INSTANCE_NAME
----------------
orcl2
COUNT(*)
----------
2910624
38
INSTANCE_NAME
----------------
orcl2
COUNT(*)
----------
2910624
39
INSTANCE_NAME
----------------
orcl2
COUNT(*)
----------
2910624
40
INSTANCE_NAME
----------------
orcl2
COUNT(*)
----------
2910624
41
INSTANCE_NAME
----------------
orcl2
COUNT(*)
----------
2910624
42
INSTANCE_NAME
----------------
orcl1
COUNT(*)
----------
2910624
43
INSTANCE_NAME
----------------
orcl2
COUNT(*)
----------
2910624
44
INSTANCE_NAME
----------------
orcl2
COUNT(*)
----------
2910624
45
INSTANCE_NAME
----------------
orcl2
COUNT(*)
----------
2910624
46
INSTANCE_NAME
----------------
orcl2
COUNT(*)
----------
2910624
47
INSTANCE_NAME
----------------
orcl2
COUNT(*)
----------
2910624
48
INSTANCE_NAME
----------------
orcl2
COUNT(*)
----------
2910624
49
INSTANCE_NAME
----------------
orcl1
COUNT(*)
----------
2910624
50
INSTANCE_N
....省略...............
COUNT(*)
----------
2910624
100
INSTANCE_NAME
----------------
orcl1
COUNT(*)
----------
2910624