互联网服务

HADR切换测试遇到的问题

我在配置HADR,进行主备机切换测试,遇到客户端查询窗口hang住的问题。情况如下:首先,切换主备机测试之前,我在客户端连接主库,并且使用db2 "select * from test",能够正常查询。客户端编目如下:db2 catalog tcpip node hadr remote 192.168.74.129 server 50000db2 catalog db sam...显示全部
我在配置HADR,进行主备机切换测试,遇到客户端查询窗口hang住的问题。
情况如下:

首先,切换主备机测试之前,我在客户端连接主库,并且使用db2 "select * from test",能够正常查询。
客户端编目如下:
db2 catalog tcpip node hadr remote 192.168.74.129 server 50000
db2 catalog db sample as sr at node hadr

(主服务器192.168.74.129、备服务器192.168.74.130)

切换测试步骤如下:
1、我模拟主数据库宕库,用 db2_kill 命令手工关闭主数据库
db2_kill

2、在备用服务器上接管HADR主数据库
db2 takeover hadr on database sample by force
显示接管成功。

3、客户端验证
我在客户端继续使用db2 "select * from test"查询,但是一直处于等待状态,等了10分钟以上还是没有反应。

请问这是什么原因呢??



我另外打开一个窗口,执行db2 connect to sr user db2inst using xxxxx,报如下错误:
SQL30081N  检测到通信错误。正在使用的通信协议:"TCP/IP"。正在使用的通信API:"SOCKETS"。检测到错误的位置:"192.168.74.129"。检测到错误的通信功能:"connect"。特定于协议的错误代码:"10061"、"*" 和 "*"。  SQLSTATE=08001


请问这和我ACR的配置有关系吗?

我的HADR配置如下:

(主服务器192.168.74.129、备服务器192.168.74.130)

1、修改主数据库参数
db2 UPDATE DB CFG FOR sample USING LOGINDEXBUILD ON
db2 UPDATE DB CFG FOR sample USING LOGARCHMETH1 DISK:/db2bak/logs

2、在主服务器上备份数据库
在主机上执行脱机备份数据库
db2 deactivate db sample
db2 backup db sample to /db2bak/ compress

3、从主机拷贝数据库备份到备机,在备用服务器上恢复数据库
db2 restore db sample from /db2bak taken at 20130805160105 replace history file

4、配置ACR
在主机上执行
db2 update alternate server for database sample using hostname 192.168.74.130 port 60000
db2 list db directory
在备机上执行
db2 update alternate server for database sample using hostname 192.168.74.129 port 60000
db2 list db directory

修改/etc/services配置文件
在主服务器192.168.74.129上添加如下服务
cat /etc/services
DB2_HADR_1      55001/tcp
DB2_HADR_2      55002/tcp
在备服务器192.168.74.130上添加如下服务
cat /etc/services
DB2_HADR_1      55001/tcp
DB2_HADR_2      55002/tcp

5、修改主服务器的HADR参数
db2 update db cfg for sample using HADR_LOCAL_HOST 192.168.74.129
db2 update db cfg for sample using HADR_LOCAL_SVC DB2_HADR_1
db2 update db cfg for sample using HADR_REMOTE_HOST 192.168.74.130
db2 update db cfg for sample using HADR_REMOTE_SVC DB2_HADR_2
db2 update db cfg for sample using HADR_REMOTE_INST DB2INST
db2 update db cfg for sample using HADR_SYNCMODE NEARSYNC
db2 update db cfg for sample using HADR_TIMEOUT 10
db2 update db cfg for sample using HADR_PEER_WINDOW 120
db2 connect to sample
db2 quiesce database immediate force connections
db2 unquiesce database
db2 connect reset

6、修改备用服务器的HADR参数
db2 update db cfg for sample using HADR_LOCAL_HOST 192.168.74.130
db2 update db cfg for sample using HADR_LOCAL_SVC DB2_HADR_2
db2 update db cfg for sample using HADR_REMOTE_HOST 192.168.74.129
db2 update db cfg for sample using HADR_REMOTE_SVC DB2_HADR_1
db2 update db cfg for sample using HADR_REMOTE_INST db2inst
db2 update db cfg for sample using HADR_SYNCMODE NEARSYNC
db2 update db cfg for sample using HADR_TIMEOUT 10
db2 update db cfg for sample using HADR_PEER_WINDOW 120

7、启动HADR
在备用服务器上启动HADR备用数据库
db2 deactivate database sample
db2 start hadr on database sample as standby

在主服务器上启动HADR主数据库
db2 deactivate database sample
db2 start hadr on database sample as primary

8、查看HADR运行状态
db2pd –db sample –hadr命令来查看HADR运行状态。

以上配置均没有出现报错。收起
参与14

查看其它 12 个回答ysgift的回答

ysgiftysgift数据库管理员招商银行
alternate server不知道配置了没
如果没配置,就不会自动更换连接备机IP
即使设置了alternate server,也有不少限制,可能设置了之后,客户端没有主动重连,或者客户端不支持alternate server

强烈建议直接重新做客户端catalog
或者在网络上设置负载均衡,放出一个虚拟IP,客户端连这个虚拟IP就可以了,由负载均衡设备自动做流量转移
银行 · 2013-08-06
浏览611

回答者

ysgift
数据库管理员招商银行
擅长领域: 系统运维智能化运维

ysgift 最近回答过的问题

回答状态

  • 发布时间:2013-08-06
  • 关注会员:1 人
  • 回答浏览:611
  • X社区推广