ORACLE SOS

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5091|回复: 1

关于retry参数的疑惑

[复制链接]

7

主题

13

帖子

71

积分

注册会员

Rank: 2

积分
71
发表于 2015-1-5 14:13:41 | 显示全部楼层 |阅读模式
本帖最后由 Johnliu 于 2015-1-5 14:15 编辑

对RAC节点进行业务分割,正常情况下用户A始终连接至node1,用户B始终连接至node2
添加service的操作如下:
srvctl add service -d order1db -s order1dbsrv1 -r order1db1 -a order1db2 -P preconnect -e select -m basic -w 5 -z 180
srvctl add service -d order1db -s order1dbsrv2 -r order1db2 -a order1db1 -P preconnect -e select -m basic -w 5 -z 180

为了防止网络不稳定(比如闪断),导致用户A连接至node2的情况,要求设置retry参数,
客户端TNS配置如下:
ord11= (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.65)(PORT=1521)) (CONNECT_DATA=(SERVICE_NAME=order1dbsrv1)(FAILOVER_MODE=(BACKUP=ord12)(TYPE=select)(METHOD=BASIC)(RETRIES=20)(DELAY=15))))
ord12= (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.66)(PORT=1521)) (CONNECT_DATA=(SERVICE_NAME=order1dbsrv2)(FAILOVER_MODE=(BACKUP=ord11)(TYPE=select)(METHOD=BASIC)(RETRIES=20)(DELAY=15))))

可见,server端设置了retry,客户端也设置了retry(虽然retry的值不一致)

验证时,我shutdown节点2,却发现3秒内自动切换到节点1,
retry参数没有生效!
sqlplus  sys/syssys@ord12 as sysdba
SQL> select instance_name from v$instance;

INSTANCE_NAME
----------------
order1db2

SQL> select instance_name from v$instance;

INSTANCE_NAME
----------------
order1db1


请各位帮忙解答,要怎样才能实现retry后再切换,谢谢!

如果我的验证方法不对,也请指出,谢谢

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|ORACLE SOS 技术论坛

GMT+8, 2024-12-5 10:22 , Processed in 0.015534 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表