1、确认oracle数据库版本,本人测试11G数据库,使用11G客户端版本存在一些问题,后下载19C Oracle客户端版本后创建连接无问题,oracle高版本客户端向下兼容。
2、确定oracle测服务于监听为启动状态。
注:本文oracle为自己的windows测试虚拟机,达梦为redhat测试虚拟机。
[Oracle 客户端链接]
(链接: https://pan.baidu.com/s/1XRaPJRBUHb6qo1dBVqGmxQ 提取码: mjrg )
3、开启达梦数据库link日志。
4、解压安装Oracle Instant Client包
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用户环境变量
7、达梦创建dblink
8、使用dblink进行查询测试
9、报错
DBlink加载库文件失败
以下配合link日志列举出现该问题原因
1)libclntsh.so缺相关依赖
现象一:客户端执行查询dblink操作报错,日志未刷新link相关日志,说明dblink还未到达梦服务端。
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 连接丢失
/etc/hosts配置问题
link日志报错如下
修改为以下
用户名密码错误
查看link日志如下
报错很直观,用户名密码错误,修改为正确密码,连接正常。
注:dblink报错可能相对笼统,需要开启link日志,对比报错进行对应排查。
文章
阅读量
获赞
