注册
DM-Oracle DBLINK创建
培训园地/ 文章详情 /

DM-Oracle DBLINK创建

小肥兔￿ 2026/06/15 605 0 0

DM-Oracle DBLINK创建

  1. 下载OCI ,并安装在达梦服务器
    1.1 在ORACLE官网中下载OCI ,如下链接:
    Oracle Instant Client Downloads for Linux ARM (aarch64)
    下载与数据库版本一致的OCI,此实验我下载的版本为:19.10.0.0版本OCI下载的OCI包,最好包含basic ,sqlplus ,sdk 并将它上传到达梦数据库所在的服务器上,如下:
    $ cd /u01
    $ ll

1.2 所有安装包解压后均生成在instantclient_19_10 目录中,包含了达梦数据库需要的DBLINK与oralce数据库连接的加载文件。
注意:将4个文件均进行解压
$ cd instantclient_19_10
$ ls

下载OCI ,并安装在达梦服务器
2. 配置DM连接ORACLE数据库的dblink加载库环境
将上一步解压出来的so文件复制拷贝到达梦数据库所在的bin目录下:
[dmdba@localhost instantclient_19_10]$ pwd
/u01/instantclient_19_10
[dmdba@localhost instantclient_19_10]$ \cp -r instantclient_19_10 /home/dmdba/20230110/dmdbms/bin/

ldd 查看 libclntsh.so.19.1
$ cd /home/dmdba/20230110/dmdbms/bin/instantclient_19_10/
$ ldd libclntsh.so.19.1

3.在DM机器上配置DM到ORACLE的链接
3.1 在nerwork/admin目录下创建tnsnames.ora文件,并编辑数据库链接信息
$ cd /network/admin
$ cat tnsnames.ora

3.2 在DM机器上配置环境变量
[dmdba@localhost admin]$ cat ~/.bash_profile
添加
export ORACLE_HOME=/home/dmdba/20230110/dmdbms/bin/instantclient_19_10
export TNS_ADMIN=$ORACLE_HOME/network/admin
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export LD_LIBRARY_PATH=$ORACLE_HOME
export PATH=$ORACLE_HOME:$PATH

[dmdba@localhost admin]$ source ~/.bash_profile #对环境变量进行生效

4.在DM机器上测试是否可以正常连接到ORACLE 数据库上,并查看表中行数
$ sqlplus NMNXOCRM/123456789@10.15.1.20:1521/testdb
SQL> select count(*) from LINK_TEST;

5.重启达梦数据库
具备上一步条件后,重启达梦数据库,重启步骤省略。重启达梦数据库的目的是为了达梦数据库能加载到DBLINK访问Oracle数据库所需要的文件,否则在查询DBLINK时,提示如下信息:
SQL> select count(*) from LINK_TEST@DM_ORA;

6.在DM数据库上创建DBLINK,并测试
登录到达梦数据库,创建dblink 并查询oralce数据库中scott用户下的表信息。
$ cd /home/dmdba/20230110/dmdbms/bin
$ ./disql SYSDBA/SYSDBA:15236
SQL> create or replace link dm_ora connect 'ORACLE' with NMNXOCRM identified by 123456789 using '10.15.1.20:1521/testdb';
SQL> select count(*) from LINK_TEST@DM_ORA;

7.注意事项
1、达梦数据库服务器之间通信要通,且防火墙,SELINUX关闭,否则提示如下报错
SQL> select * from v$version@DM_ORA;
select * from v$version@DM_ORA;
第1 行附近出现错误[-2251]:DBLINK远程服务器获取对象[v$version]失败.
已用时间: 26.456(毫秒). 执行号:5.
2、oci中so文件需全部拷贝到达梦数据库bin目录中,并且重启达梦数据库,否则提示加载DBLINK的库文件失败。
SQL> select * from emp@DM_ORA;
select * from emp@DM_ORA;
第1 行附近出现错误[-2245]:DBLINK加载库文件失败.
已用时间: 0.751(毫秒). 执行号:4.
3、注意SQL串中用户为大写,否则提示如下错误信息:
SQL> select * from v$version@DM_ORA;
select * from v$version@DM_ORA;
第1 行附近出现错误[-2251]:DBLINK远程服务器获取对象[v$version]失败.
已用时间: 26.456(毫秒). 执行号:5.

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服