一直对于oracle rac中service这个概念理解不清晰,相信很多学习oracle的朋友也多多少少对此有些疑惑。利用dbca显式创建了二个service,各为service1,service2,其具体细节信息,请查看dba_services
大家可以看到共显示了8行,有一些是系统自己保留所用,最后两个就是我们自定义的service
利用netmgt在客户端配置添加了only网络服务名,我准备分两种类型测试
1,未户用客户端load balance
测试结果显示:
a,所有客户端产生的8个session全然连接到第一个rac实例
select inst_id,count(sid) from gv$session group by inst_id;
b,有趣的是每个产生的客户端会话,用sqlplus连接时第一次是连接不上,提示如下,第二次再连接,就正常了,不知何故
C:\Documents and Settings\Administrator>sqlplus system/system@only
SQL*Plus: Release 10.2.0.1.0 - Production on 星期一 4月 12 16:52:47 2010
Copyright (c) 1982, 2005, Oracle. All rights reserved.
ERROR:
ORA-12545: 因目标主机或对象不存在, 连接失败
2,启用客户端load balance
测试结果非常好,与我的预期相符,所有客户端产生的会话均匀分布在rac的所有实例上
select inst_id,count(sid) from gv$session group by inst_id
INST_ID COUNT(SID)
---------- ----------
1 33
2 32
以上客户端的tnsnames.ora配置如下:
# tnsnames.ora Network Configuration File: D:\oracle10g\NETWORK\ADMIN\tnsnames.ora
# Generated by Oracle configuration tools.
ONLY =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.125.8)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.125.10)(PORT = 1521))
(LOAD_BALANCE = yes)
)
(CONNECT_DATA =
(SERVICE_NAME = only)
)
)
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/9240380/viewspace-659509/
,如需转载,请注明出处,否则将追究法律责任。