日期:2014-05-17  浏览次数:20979 次

oracle tnsnames.ora下RAC的配置
我第一次发贴,如果结贴率是 0.00%的话 请理解俺一下子  

http://blog.csdn.net/snakeqi/archive/2009/01/14/3779846.aspx

上面博客中有一段 RAC的配置(3节点rac) 

###### RAC的配置(3节点rac) ###############################
ORALOCAL =
  (DESCRIPTION =
  (load_balance = yes)
  (failover = on)
  (ADDRESS_LIST =
  (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.1)(PORT = 1521))
  (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.2)(PORT = 1521))
  (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.3)(PORT = 1521))  
  )
  (CONNECT_DATA =
  (SERVICE_NAME = oralocal)
  (SERVER = DEDICATED)
  (failover_mode=(type=select)(method=basic)(retries=20)(delay=20))
  )
  )
  
ORALOCAL_NODE1 =
  (DESCRIPTION =
  (ADDRESS_LIST =
  (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.1)(PORT = 1521))
  )
  (CONNECT_DATA =
  (SERVICE_NAME = oralocal)
  (INSTANCE_NAME = oralocal_node1)
  )
  )


ORALOCAL_NODE2=
  (DESCRIPTION =
  (ADDRESS_LIST =
  (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.2)(PORT = 1521))
  )
  (CONNECT_DATA =
  (SERVICE_NAME = oralocal)
  (INSTANCE_NAME = oralocal_node2)
  )
  )
   

ORALOCAL_NODE3 =
  (DESCRIPTION =
  (ADDRESS_LIST =
  (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.3)(PORT = 1521))
  )
  (CONNECT_DATA =
  (SERVICE_NAME = oralocal)
  (INSTANCE_NAME = oralocal_node3)
  )
  )


  )
哪位帮我解译一下里面的句子都是什么意思!


我有一个这样的配置,
rms =
(DESCRIPTION =
(enable=broken)
(LOAD_BALANCE = yes)
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.33.1)(PORT = 1522))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.33.2)(PORT = 1522))
(CONNECT_DATA =
  (SERVICE_NAME = nrms)
  (failover_mode=(type=select)(method=basic))
)
)


我想知道
(enable=broken)
(LOAD_BALANCE = yes)
(failover_mode=(type=select)(method=basic)
这三句是什么意思 type=select 是说我只有select 的权限么,没有update delete ???

在上面博客中”RAC的配置(3节点rac)”中还配置了ORALOCAL_NODE1,ORALOCAL_NODE2,ORALOCAL_NODE3 那我的这个也要配置两个node么 ?


谢谢 万分感谢

------解决方案--------------------
楼主看到的这个tnsname实际上是rac环境下Failover的一种实现方式:TAF
简单说一下各个参数的作用
failover: Failover 控制开关(on/off),如果为off,不提供故障切换功能,但连接时会对address 列表进行依次尝试,直到找到可用为止.

type: 两种类型:session /select Session: 提供session级别的故障切换。Select:提供select 级别的故障切换,切换过程对查询语句透明,但事物类处理需要回滚操作.

method: 两种类型:basic/preconnect Basic:client同时只连接一个节点,故障切换时跳转到另外节
点 Preconnect:需要与backup 同时使用,client 同时连接到主节点和backup节点.

backup: 采用Preconnect 模式的备用连接配置.

retries: 故障切换时重试次数.

delay: 故障切换时重试间隔时间.

如果楼主需要详细资料建议去搜一下TAF.

另外,ORALOCAL_NODE1,ORALOCAL_NODE2,ORALOCAL_NODE3在他这里没有作用,只是提供每个节点的连接服务,你如果只想连接某个单节点,可以配置.但是如果TAF中使用了backup的话,必须提供一个backup服务.他这里没用,所以不需要.
------解决方案--------------------
客户端负载均衡及透明应用切换(TAF)

这是客户端的一种功能,要在客户端的tnsnames.ora中设置本地服务命名相应的参数(LOAD_BALANCE=ON和FAILOVER=ON、FAILOVER_MODE参数)来启用客户端负载均衡和TAF功能。客户端负载均衡并不衡量RAC节点CPU的使用率,它只是随机的连接一个节点的监听。由于是随机连接,所以大体上做到连接数的负载均衡。在RAC环境中设置tnsnames.ora时,应使用SERVICE_NAME

而不要使用SID,但是在使用RMAN进行备份和恢复时必须使用SID而不能使用SERVICE_NAME

 

RAC双主模式时,客户端可以只使用一个本地服务命名(无预连接功能),或者使用两个本地服务命名(有预连接功能)

具有客户端负载均衡及透明应用切换无预连接的tnsnames配置

 

R