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

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

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,把补丁打上也可以。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值