我在配置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运行状态。
以上配置均没有出现报错。
收起