对于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或任何其他应用程序中用作连接器时不能。
答案 0 :(得分:0)
您是否验证了辅助服务器(host3)上的CONNECT_PROC
配置参数是否已按预期设置?
并非所有对数据库配置的更改都通过HADR进行复制,因此您还需要手动更新备用主机上的配置。