标签:
最近监控系统日志时发现出现一个新的错误信息,很奇怪,之前没有过。如下:
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,把补丁打上也可以。
标签:
原文地址:http://blog.csdn.net/luckysunny745/article/details/46474353