ITPub博客

首页 > 数据库 > Oracle > rac的FAILOVER 和LOAD_BALANCE参数,yes和on是否通用!

rac的FAILOVER 和LOAD_BALANCE参数,yes和on是否通用!

原创 Oracle 作者:jinjun1029 时间:2017-05-11 16:19:20 0 删除 编辑
rac的FAILOVER 和LOAD_BALANCE参数,yes和on通用吗?
我看rac文档,FAILOVER = on,LOAD_BALANCE=on,可是有的文档,用的是yes。莫非on和yes都可以?

(LOAD_BALANCE = yes)

(FAILOVER = yes)

FAILOVER =ON 表示的是客户端连接时的故障转移。也就是说在建立会话的时候如果发现一个节点出现故障就去检测另外的节点。默认就是开启的。
但是现在ORACLE一般使用TAF,就是说即使在连接期间出现故障,也会转移到其他节点继续操作,方法是使用
failover_mode 有几个参数TYPE MOTHOD RETRIES DELAY。
mothod 取值 basic preconnect(前者是在感知了错误才建立到其他节点的连接,后者是预先建立到其他节点的连接)
TYPE 取值 SELECT SESSION(前者在故障节点的查询结果不会抛弃,在新节点继续余下的操作,后者就是重新进行操作,抛弃以前的操作)
retries就是重试次数
DELAY 重试间隔时间
也可以使用SERVICE来做服务端的 TAF。

LOAD_BALANCE=YES 表示的负载均衡,而且这个应该是客户端的负载均衡,就是随机的进行连接分配,不出意外100连接一般两个节点差多不多有50个。

但是这个负载均衡模式不好,一般使用服务端的负载均衡,就是设置remote_listener来将各个节点负载信息通过POMN注册到其他节点的监听信息中,这个注册会在监听的日志中找到。
但是其实这些负载均衡都有弊端,比如我建立了一个会话查询A表,这个时候A机器的负载上取了,然后我在建立一个会话查询A表,被分配到B机器,这个时候就会通过CACHE FUSION来获取DB_CACHE中的缓存块,这个恰好降低了性能,结果哈哈越负载均衡性能越差,悲剧就产生了。要想真正的提高性能,SERVICE最好。

下面做一个测试:
yes和on通用。failover的测试结果如下,load_balance就不贴结果了,一样!
停止节点2,测试:
rac=
(DESCRIPTION =
    (ADDRESS_LIST =
      (LOAD_BALANCE = on)  
      (FAILOVER = yes)
      (ADDRESS = (PROTOCOL = TCP)(HOST = racdb2)(PORT = 1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = racdb1)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = racdb)
      (FAILOVER_MODE =
        (TYPE=SESSION)
        (METHOD=BASIC)
        (RETRIES=180)
        (DELAY=5)      
       )
     )
  )

C:\Documents and Settings\Administrator>sqlplus xigua/xigua@rac

SQL*Plus: Release 10.2.0.1.0 - Production on 星期一 5月 30 22:52:19 2011

Copyright (c) 1982, 2005, Oracle.  All rights reserved.


连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining Scoring Engi
ne
and Real Application Testing options

SQL> select instance_name from v$instance;

INSTANCE_NAME
----------------
racdb1

SQL>


修改yes为on,测试结果
rac=
(DESCRIPTION =
    (ADDRESS_LIST =
      (LOAD_BALANCE = on)  
      (FAILOVER = on)
      (ADDRESS = (PROTOCOL = TCP)(HOST = racdb2)(PORT = 1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = racdb1)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = racdb)
      (FAILOVER_MODE =
        (TYPE=SESSION)
        (METHOD=BASIC)
        (RETRIES=180)
        (DELAY=5)      
       )
     )
  )

C:\Documents and Settings\Administrator>sqlplus xigua/xigua@rac

SQL*Plus: Release 10.2.0.1.0 - Production on 星期一 5月 30 22:53:33 2011

Copyright (c) 1982, 2005, Oracle.  All rights reserved.


连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining Scoring Engi
ne
and Real Application Testing options

SQL> select instance_name from v$instance;

INSTANCE_NAME
----------------
racdb1

SQL>



来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29654019/viewspace-2138918/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2014-05-12

  • 博文量
    2
  • 访问量
    3797