SQL使用了database link,但是执行时遇到:远程操作符执行失败,select * 没问题,
select count(0) 就报错,
说明可能使用数据库链遇到问题。可以尝试修改参数 DBLINK_OPT_FLAG 为0
-
参数名:DBLINK_OPT_FLAG
-
缺省值:509
-
属性:动态,会话级
-
说明:控制对 DBLINK 的优化。
-
-
0:不进行优化;
-
1:允许 DBLINK 整体优化,采用原始方式;
-
2:DBLINK 局部优化,采用老方式;
-
4:DBLINK 局部优化,采用新方式;
-
8:异构数据库情况下进行兼容性检查,根据表达式类型检查是否可以在异构数据库执行,如果不支持,则不对此表达式进行进行收集;
-
16:采用新方式局部优化时,考虑视图、派生表、子查询、查询表达式是否可以整体优化;
-
32:采用新方式局部优化时,支持外连接 WHERE 过滤条件的优化;
-
64:支持 MEMBER_ACCESS 转换为变量的优化方式;
-
128:增删改支持新方式优化;
-
256:计划生成阶段增加 DBLINK 优化,支持连接条件转换为变量的优化方式,并对 DBLINK 存在过滤条件的场景进行优化;
-
512:支持物化视图明细表是基于 DM 到异构数据库 DBLINK 的远程表。
-
-
支持使用上述有效值的组合值,如 61 表示同时进行 1、4、8、16、32 的优化。取值 16 和 32只有和取值 4 组合才有意义。
猜测 509=1+4+8+16+32+64+128+256,没有采用2 和 512这两种方式优化link。
参考:
《DM8系统管理员手册.pdf》
阅读(920) | 评论(0) | 转发(0) |