DM-Oracle DBLINK创建

文章详细介绍了如何在达梦服务器上下载、安装Oracle的OCI,包括解压安装包,配置环境变量,创建tnsnames.ora文件,以及建立DBLINK测试连接到Oracle数据库。同时,强调了oci中so文件的完整拷贝和数据库重启的重要性,以及在连接过程中可能遇到的错误和解决方法。
摘要由CSDN通过智能技术生成
  1. 下载OCI ,并安装在达梦服务器

1.1 在ORACLE官网中下载OCI ,如下链接:

https://www.oracle.com/database/technologies/instant-client/linux-arm-aarch64-downloads.html

下载与数据库版本一致的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

  1. 配置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

  1. 在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 #对环境变量进行生效

  1. 在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;

4、在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;

5、注意事项

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.

达梦数据库 - 新一代大型通用关系型数据库 | 达梦云适配中心

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值