oracle 10g rac 负载均衡 二

实验环境:vmware server+  rh4.5+ oracle 10.2.0.1.0  + rac,客户端 xporacle配置参数:

SQL> show parameter instance_name
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
instance_name                        string      zzcgs1
SQL> show parameter listener
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
local_listener                       string      (ADDRESS = (PROTOCOL = TCP)(HO
                                                 ST = 192.168.1.111)(PORT = 152
                                                 1))
remote_listener                      string      LISTENERS_ZZCGS
SQL> show parameter instance_name
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
instance_name                        string      zzcgs2
SQL> show parameter listener      
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
local_listener                       string      (ADDRESS = (PROTOCOL = TCP)(HO
                                                 ST = 192.168.1.112)(PORT = 152
                                                 1))
remote_listener                      string      LISTENERS_ZZCGS
LISTENER_ZZCGS参数在数据库上tnsnames.ora中的配置为:
ZZCGS =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = node1-vip.orademo.org)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = node2-vip.orademo.org)(PORT = 1521))
    (LOAD_BALANCE = yes)
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = zzcgs)
    )
  )

LISTENERS_ZZCGS =
  (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = node1-vip.orademo.org)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = node2-vip.orademo.org)(PORT = 1521))
  )
客户端中tnsnames.ora中对TAF配置如下:
ZZCGSRAC=
  (DESCRIPTION =
  	(LOAD_BALANCE=ON)
    	(ADDRESS_LIST =
      		(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.111)(PORT = 1521))
      		(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.112)(PORT = 1521))
    	)
    	(CONNECT_DATA =
    		(SERVER = DEDICATED)
      		(SERVICE_NAME = zzcgs)
      		(FAILOVER_MODE =
			(TYPE = SELECT)
			(METHOD = BASIC)
		)
    	)
  )
使用JDBC连接的测试结果参考一

使用sqlplus连接时,即使LOAD_BALANCE=OFF,在一个sqlplus中两个实例之间也可以切换。

当配置FAILOVER_MODE,通过下列语句可以查询。

SELECT MACHINE, FAILOVER_TYPE, FAILOVER_METHOD, FAILED_OVER, COUNT(*) FROM V$SESSION 
GROUP BY MACHINE, FAILOVER_TYPE, FAILOVER_METHOD, FAILED_OVER
以下是测试过程:
SQL> select instance_name from v$instance;
INSTANCE_NAME
--------------------------------
zzcgs1
$ srvctl stop inst -d zzcgs -i zzcgs1    //在节点1或2上执行,关闭zzcgs1

不断执行上述语句先后出现以下错误:

ORA-01089: immediate shutdown in progress - no operations are permitted

ORA-03113: 通信通道的文件结束

ORA-01012: 没有登录

疑惑一、无论在客户端怎么修改tnsnames.ora参数,都无效,对failover_mode中参数的修改也不能立即反应在数据库中。
当(FAILOVER_MODE =   (TYPE = SELECT)   (METHOD = BASIC)  )执行以上的查询语句可行:

MACHINE                   FAILOVER_TYPE      FAILOVER_METHOD      FAILED   COUNT(*)
------------------------- ------------------ -------------------- ------ ----------
WORKGROUP\WMZPC           SELECT             BASIC                NO              1
node2.orademo.org         NONE               NONE                 NO             29
node1.orademo.org         NONE               NONE                 NO              2

当(FAILOVER_MODE =   (TYPE = SESSION)   (METHOD =PRECONNECT)  ),使用conn 再次登录并执行时不变,找不到规律所在。
疑惑二、当客户端的tnsnames.ora中配置如下时

rac1=
	(DESCRIPTION =
		(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.111)(PORT = 1521))
		(CONNECT_DATA =
			(SERVER = DEDICATED)
			(SERVICE_NAME = zzcgs)
			(INSTANCE_NAME = zzcgs1)
			(FAILOVER_MODE =
				(TYPE = SELECT)
				(METHOD = BASIC)
				(BACKUP = rac2)
			)
		)
	)
rac2=
	(DESCRIPTION =
		(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.112)(PORT = 1521))
		(CONNECT_DATA =
			(SERVER = DEDICATED)
			(SERVICE_NAME = zzcgs)
			(INSTANCE_NAME = zzcgs2)
			(FAILOVER_MODE =
				(TYPE = SELECT)
				(METHOD = BASIC)
				(BACKUP = rac1)
			)
		)
	)
  
在作任一节点上查询时,得到的结果都是
MACHINE              FAILOVER_TYPE   FAILOVER_METHOD      FAILED   COUNT(*)
-------------------- --------------- -------------------- ------ ----------
WORKGROUP\WMZPC      NONE            NONE                 NO              1
且无法实现runtime load balancing

注:在此之前我间修改过public ip 和VIP。

不解!






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值