达梦数据库配置dblink报加载文件失败原因分析
2022/1/13 19:05:26
本文主要是介绍达梦数据库配置dblink报加载文件失败原因分析,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
使用数据库时,多个数据库之间的数据经常进行交互。当要通过达梦数据库,访问oracle数据库表中的数据时,数据库中就要创建远程数据库的dblink,这样达梦数据库可以像访问本地数据库一样访问oracle中数据库表中的数据。这时配置从达梦数据库到oracle的dblink变得尤为重要。但配置的过程中总是报如下错误:
第1 行附近出现错误[-2245]:DBLINK加载库文件失败.
第1 行附近出现错误[-2251]:DBLINK远程服务器获取对象[V$INSTANCE]失败.
分析原因如下:加载库失败,一般是动态库没有包含在LD_LIBRARY_PATH变量里。在dm连接oracle过程中看,必须让dm认识oracle
解决方法:
1、在dmdba用户下执行sqlplus能连接oracle的前提下
a、在dmdba用户的环境变量确认该变量包含oracle lib路径。
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$ORACLE_HOME/lib"
b、在$ORACLE_HOME/lib目录下,执行
ln -s libclntsh.so.11.1 libclntsh.so
链接命令里,后面的文件名是链接文件
执行ln -s libocci.so.19.1 libocci.so.11.1
ln -s libclntsh.so.19.1 libclntsh.so.11.1
是使用root用户还是dmdba执行,看这个目录的权限而定。
c、然后重启DM库服务,在启动前确认LD_LIBRARY_PATH包含了oracle的lib路径。
2、获取对象失败,一般是dm加载库文件完成,已经去连接oracle了,但oracle没有连接成功,此时需要检查oracle、ip、端口是否正常,可以通过sqlplus查看dm创建的dblink的参数是否正常。另外修改odbc配置后,重启库服务也很重要。
sqlplus配置如下:
a、export ORACLE_HOME=/home/dmdba/instantclient
export TNS_ADMIN=/home/dmdba/instantclient
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$ORACLE_HOME"
export PATH=$PATH:/home/dmdba/tool/instantclient
b、将instantclient-basic-linux.x64-11.2.0.4.0.zip 解压到instantclient_11_2目录下,再将 instantclient-sqlplus-linux.x64-11.2.0.4.0.zip 解压到instantclient_11_2/bin下。
c、从oracle下将$ORACLE_HOME/sqlplus/mesg/* 文件拷贝到instantclient_11_2下。
d、配置环境变量
export ORACLE_HOME=/home/dmdba/instantclient_11_2
export TNS_ADMIN=/home/dmdba/instantclient_11_2
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$ORACLE_HOME"
export PATH=$PATH:$ORACLE_HOME/binsqlplus
e、system/michael@192.168.104.34:1521/orac或sqlplus system/michael@orac34
这篇关于达梦数据库配置dblink报加载文件失败原因分析的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-04-26敏捷开发:想要快速交付就必须舍弃产品质量?
- 2024-04-26静态代码分析的这些好处,我竟然都不知道?
- 2024-04-26你在测试金字塔的哪一层?(下)
- 2024-04-26快刀斩乱麻,DevOps让代码评审也自动起来
- 2024-04-262024年最好用的10款ER图神器!
- 2024-04-2203-为啥大模型LLM还没能完全替代你?
- 2024-04-2101-大语言模型发展
- 2024-04-17基于SpringWeb MultipartFile文件上传、下载功能
- 2024-04-14个人开发者,Spring Boot 项目如何部署
- 2024-04-14RAG应用开发实战02-相似性检索的关键 - Embedding