【DM版本】: 8.1 企业版
【操作系统】:麒麟 V10-SP3
【CPU】:AMD EPYC Processor
【问题描述】*:需要访问oracle数据库,在命令行或者第三方程序里面创建dblink报错,报错如下:
SQL> create link linka connect 'ORACLE' with "TMPUSER" identified by "oracle" using 'a';
create link linka connect 'ORACLE' with "TMPUSER" identified by "oracle" using 'a';
create link linka connect 'ORACLE' with "TMPUSER" identified by "oracle" using 'a';
*
第 1 行, 第 7 列[link]附近出现错误[-2007]:
语法分析出错.
已用时间: 0.281(毫秒). 执行号:0.
SQL>
另一套本地测试环境,同样的create link语句执行成功:
SQL> select * from v$version;
LINEID BANNER
1 DM Database Server x64 V8.1.0.147-Build(2019.03.27-104581)ENT
2 DB Version: 0x7000a
used time: 0.638(ms). Execute id is 8.
SQL> create link linka connect 'ORACLE' with "TMPUSER" identified by "oracle" using 'a';
executed successfully
used time: 2.504(ms). Execute id is 7.
两套环境配置基本一致;命令中也没有特殊字符,想知道执行报错的原因,怀疑是遇到bug。
大部分原因是 屏蔽了关键字link
检查下两处位置:
select * from v$dm_ini where para_name = 'EXCLUDE_RESERVED_WORDS';
/etc/dm_svc.conf 或 C:\windows\system32\dm_svc.conf
KEY_WORDS 参数项配置内容