HADR环境中的CONNECT_PROC导致-1776 DB2错误

时间:2013-01-25 22:11:05

标签: db2

对于DB2 / HADR,我们看起来是一个非常独特的场景。

我们使用connect_proc监视数据库的登录,并针对有效主机名表反弹连接的主机名。如果主机名在该列表中,则授予并记录访问权限,如果主机名不在该列表中,则返回“ACCESS RESTRICTED”的错误20001。

我们的问题是连接数据库:

让我们假设我们的连接字符串是这样的: JDBC:DB2:// host3上:1000 / vpcdb:clientRerouteAlternateServername = host3上,主机2,主机1; clientRerouteAlternatePortNumber = 1000,1000,100; queryCloseImplicit = 2; enableSeamlessFailover =是; enableClientAffinitiesList =是; blockingReadConnectionTimeout = 1200;

如果host1是主HADR数据库,我们会收到1776,如果host3是我们获得访问权限的主要HADR数据库。

如果使用以下命令禁用触发器:update db cfg using connect_proc NULL @ access被授予

具体使用了多个DB2驱动程序:4.14.111和4.13.80。另一个有趣的事情是,上面的任何配置都可以在Squirrel中使用触发器激活,但在activemq或任何其他应用程序中用作连接器时不能。

1 个答案:

答案 0 :(得分:0)

您是否验证了辅助服务器(host3)上的CONNECT_PROC配置参数是否已按预期设置?

并非所有对数据库配置的更改都通过HADR进行复制,因此您还需要手动更新备用主机上的配置。