ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

达梦数据库配置dblink报加载文件失败原因分析

2022-01-13 15:02:24  阅读:896  来源: 互联网

标签:数据库 instantclient LIBRARY dblink export oracle PATH 达梦 加载


        使用数据库时,多个数据库之间的数据经常进行交互。当要通过达梦数据库,访问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

标签:数据库,instantclient,LIBRARY,dblink,export,oracle,PATH,达梦,加载
来源: https://blog.csdn.net/cgf8421/article/details/122471497

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有