目前,越来越多的系统采用OracleRAC,而见到的国内绝大多数应用程序一般多停留在单节点的tnsnames.ora配置,
如下配置的一个连接rac是我们的实际环境中的一个例子:
GAPS32DB =
(DESCRIPTION =(LOAD_BALANCE=ON)
(FAILOVER=ON)
(ADDRESS = (PROTOCOL = TCP)(HOST = gapsdb2-vip)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = gapsdb1-vip)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = gaps32db)
(FAILOVER_MODE=(TYPE=SELECT)(METHOD=BASIC))
)
)
一些说明:
1. (LOAD_BALANCE=ON)在11g是默认设置,因此可以去掉.
2. 即使是11g,也不支持select以外的TAF(Transport Application Failover)
3. TYPE有3种:session,select,none,默认是none. (FAILOVER_MODE=(TYPE=SESSION)(METHOD=BASIC)(BACKUP=SERVER_BACKUP))
4. METHOD有basic, preconnect.两种.preconnect主要在建立一个连接的同时在另外节点创建一个连接,用于预防故障转移.而basic只建立一个.
5. 当TAF不能使用preconnect时,TAF会自动使用BASIC方法.
5. 不要指定GLOBAL_DBNAME
6. 10G中有RETRIES指明在故障转移后,尝试连接的次数; DELAY指明两次连接尝试间隔的时间(秒).
以上配置可用于Oracle 10g,11g.