我有一个示例程序,它可以很好地处理一个数据库,并且不会在另一个数据库上进行回调调用。
我注意到在工作中
SELECT CALLBACK FROM USER_CHANGE_NOTIFICATION_REGS
返回一个引用客户端IP地址的字符串,该字符串似乎与回调所需的内容直观匹配。
(46, 4, 'net8://(ADDRESS=(PROTOCOL=tcp)(HOST=172.16.252.1)(PORT=49406))?PR=0',
0, 0, 1800, 'MH.CBDEMO')
# 172.16.252.1 = client machine
在总线情况下,主机字符串由数据库主机的IP地址填充。
(271, 4, 'net8://(ADDRESS=(PROTOCOL=tcp)(HOST=138.72.249.167)(PORT=50966))?PR=0',
0, 0, 1800, 'MH.CBDEMO')
# 138.72.249.167 = database host
所以,有两个问题:
-
主机=parm是否应该引用OCI客户机?
-
找出主机=parm的错误填写位置的最佳方法是什么?
环境:
-
客户端:mac osx,oci,python+cx_oracle;数据库:10.2.0.4.0
-
好的服务器:在VMware上的Linux,10.2.0.4.0
-
故障服务器:Linux RAC,10.2.0.4.0