单实例配置
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.22.19)(PORT = 1521))
(CONNECT_DATA = (SID =orcle1)
)
)
多实例配置
(DESCRIPTION =(ADDRESS_LIST =(LOAD_BALANCE=off) (FAILOVER=ON)
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.22.12)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.22.13)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcle)
)
(FAILOVER_MODE=(TYPE=SELECT))
(METHOD=BASIC)
)
多实例配置中 LOAD_BALANCE 属性:
如果未开启load_balance=yes时,Oracle Net会根据地址列表按顺序来选择一个进行连接,直到连接成功为止。
如果第一个host主机连接失败,在有多个地址的情形下,接下来选择第二个地址连接,依此类推,直到连接成功为止。
当开启了load_balance=yes时,则Oracle Net会从多个地址中随机地选择一个地址进行连接,直到连接成功为止。
注意,此连接方式仅根据地址列表随机选择,并不考虑到各个实例上当前真正连接数量的多少,也即是没有考虑各个节点真实的连接负载情况。
多实例配置中 FAILOVER 属性:
oracle的failover是指在oracle集群汇总,客户端当前连接的实例发生故障时,oracle会自动将连接切换到另外一个实例上的情况。
或者说,当用户连接到RAC环境时,用户实际是连接到RAC中的一个实例,用户的查询等操作也是由该
实例完成的,如果该实例down掉了,那么用户连接会被转移到其他健康实例,而这种转换对于用户是透明
的,用户的select语句仍然继续返回结果集,感觉不到异常。
可以通过 select instance_name from v$instance; 连接一个实例后,先修改端口,再来看具体连接的是否是新的实例。注意新打开一个sql窗口