达梦创建dblink访问ob-mysql数据库问题,请问如何配置

【 使用环境 】生产环境
【 OB or 其他组件 】
【 使用版本 】社区版
【问题描述】isql OB_DSN -v 显示连接成功,但是从达梦数据库查询时提示“远程操作符执行失败”
【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):

【SOP系列 22 】——故障诊断第一步(自助诊断和诊断信息收集)

【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!

根据您的描述,达梦数据库通过DBLink访问OceanBase的MySQL模式时遇到“远程操作符执行失败”的错误。这种情况下,我们建议先使用obdiag工具来收集一些基础信息和可能的日志以进行更详细的分析。由于该问题的具体场景在当前提供的文档片段中没有直接匹配的根因分析命令,我们将专注于日志采集阶段。一旦收集了必要的日志文件,我们或者您自身将能够基于这些信息进一步定位问题原因。

日志采集场景: SQL 执行出错
日志采集命令: obdiag gather scene run --scene=observer.sql_err --env "{db_connect='-h<OB_HOST> -P<OB_PORT> -u<USERNAME>@<TENANT_NAME> -p<USER_PASSWORD> -D<DATABASE_NAME>', trace_id='<TRACE_ID>'}"

请确保替换上述命令中的占位符:

  • <OB_HOST>:OceanBase实例所在主机名或IP地址。
  • <OB_PORT>:对应租户的服务端口。
  • <USERNAME>:用于连接至目标数据库的用户名。
  • <TENANT_NAME>:指定要连接的租户名称。
  • <USER_PASSWORD>:用户密码(注意实际操作时应妥善保管敏感信息)。
  • <DATABASE_NAME>:涉及错误发生的数据库名。
  • <TRACE_ID>:如果手头已有相关的trace ID,则填入;否则可暂时忽略此参数。

在获取到相关日志后,请将它们压缩打包并通过安全渠道发送给我们进一步审查。

此外,为了帮助更快地诊断问题,请回答以下几个问题:

  1. 当前使用的达梦数据库版本是什么?
  2. OceanBase数据库的具体版本号是多少?
  3. 从达梦到OceanBase间是否存在防火墙或其他网络限制?
  4. 尝试执行导致错误的具体SQL语句是什么?能否提供一个简化版示例?
  5. 在尝试建立跨库查询之前,是否对两边数据库进行了任何特别配置调整?

感谢您的配合!希望尽快帮您解决问题。

附上敏捷诊断工具 obdiag 使用帮助链接

应该是不通用的

是达梦不支持吗