注册
达梦-Oracle dblink分享
专栏/技术分享/ 文章详情 /

达梦-Oracle dblink分享

哦买嘎 2025/11/07 247 0 0
摘要

1、确认oracle数据库版本,本人测试11G数据库,使用11G客户端版本存在一些问题,后下载19C Oracle客户端版本后创建连接无问题,oracle高版本客户端向下兼容。
2、确定oracle测服务于监听为启动状态。
image.png
注:本文oracle为自己的windows测试虚拟机,达梦为redhat测试虚拟机。
[Oracle 客户端链接]
(链接: https://pan.baidu.com/s/1XRaPJRBUHb6qo1dBVqGmxQ 提取码: mjrg )
3、开启达梦数据库link日志。
image.png
4、解压安装Oracle Instant Client包
image.png
image.png
image.png
image.png
5、确认libclntsh.so是否缺相关依赖
[root@MPP1 instantclient_19_29]# ldd libclntsh.so
linux-vdso.so.1 => (0x00007fffe9390000)
libnnz19.so (0x00007f94ee74d000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f94ee53a000)
libm.so.6 => /lib64/libm.so.6 (0x00007f94ee2b6000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f94ee099000)
libnsl.so.1 => /lib64/libnsl.so.1 (0x00007f94ede7f000)
librt.so.1 => /lib64/librt.so.1 (0x00007f94edc77000)
libaio.so.1 => /lib64/libaio.so.1 (0x00007f94eda76000)
libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f94ed85b000)
libc.so.6 => /lib64/libc.so.6 (0x00007f94ed4c9000)
/lib64/ld-linux-x86-64.so.2 (0x00000033ad600000)
libclntshcore.so.19.1 (0x00007f94ecf23000)
注:可能会出现libnsl.so.1 => not found的情况,这种情况下,可以选择创建软连接,正常ln -s /usr/lib64/libnsl.so.2 /usr/lib64/libnsl.so.1即可
可能还会出现其他动态库not found 情况,出现此情况find / -name *.so 后接着创建对应软连接即可。
6、配置dmdba用户环境变量
image.png
7、达梦创建dblink
image.png
8、使用dblink进行查询测试
image.png
9、报错
DBlink加载库文件失败
image.png
以下配合link日志列举出现该问题原因
1)libclntsh.so缺相关依赖
现象一:客户端执行查询dblink操作报错,日志未刷新link相关日志,说明dblink还未到达梦服务端。
image.png
ldd libclntsh.so查询是否缺相关依赖,查看后参考步骤5,创建软连接补全缺失依赖
[root@MPP1 instantclient_19_29]# ldd libclntsh.so
linux-vdso.so.1 => (0x00007fff09fff000)
libnnz19.so (0x00007ff8424a6000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007ff842293000)
libm.so.6 => /lib64/libm.so.6 (0x00007ff84200f000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007ff841df2000)
libnsl.so.1 => not found
librt.so.1 => /lib64/librt.so.1 (0x00007ff841be9000)
libaio.so.1 => /lib64/libaio.so.1 (0x00007ff8419e8000)
libresolv.so.2 => /lib64/libresolv.so.2 (0x00007ff8417cd000)
libc.so.6 => /lib64/libc.so.6 (0x00007ff84143b000)
/lib64/ld-linux-x86-64.so.2 (0x00000033ad600000)
libclntshcore.so.19.1 (0x00007ff840e95000)
libnsl.so.1 => not found
安装低版本客户客户端也遇到过此类问题,但未截图,建议使用本文oracle客户端版本进行dblink。
DM DBLINK使用的是Oracle OCI方式创建,一般是由于DM数据库未加载Oracle OCI驱动,需要重启DM数据库。
2)dblink 连接丢失
image.png
/etc/hosts配置问题
image.png
link日志报错如下
image.png
修改为以下
image.png
image.png
用户名密码错误
image.png
查看link日志如下
image.png
报错很直观,用户名密码错误,修改为正确密码,连接正常。
image.png
注:dblink报错可能相对笼统,需要开启link日志,对比报错进行对应排查。

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服