XA中使用dblink发现的一个oracle bug

来源:互联网 发布:多多淘宝客 编辑:程序博客网 时间:2024/04/27 16:28

最近监控系统日志时发现出现一个新的错误信息,很奇怪,之前没有过。如下:

ORA-24777:不允许使用不可移植的数据库链路。

跟踪程序进去发现是通过dblink查询某个远程库表,而且由于使用了XA分布式事务数据库连接。大家也许都知道XA有不少限制条件,之前也遇到过,都绕着走了。但是最近没有调整过程序也没有改变过dblink的配置,怎么回事呢?只能网上搜索,结果有人遇到过,说是oracle dblink改成shared就行了。个人觉得这个说法靠谱。于是现在测试系统上试了一下,果然有效。

可以为什么之前没有这个问题呢?还是问一下应用服务维护人员和dba吧,一会儿应用服务器管理员回信,没有改变任何设置。到时dba经过咨询外部oracle专家有了回复,是一个oracle bug引起,目前在oracle 11.2.0.4上存在这个问题(近期迁移了我们访问的远程数据服务器,迁移时升级了oracle小版本号,升级后正好是11.2.0.4),而我们的访问对象正是11.2.0.4的dblink,原来如此,正好踩在雷上。对方提供了两种方案解决:

1、把oracle服务器模式设置成shared server;

2、把dblink连接设置成shared模式。

显然第一个没有人轻易选择,影响太大,也说不定会有其他问题出现,第二种成本低,对于系统本身影响小。因此也就选择了方案二。

当然后续可以找个时间升级一下oracle,把补丁打上也可以。


0 0
原创粉丝点击