达梦数据库-达梦数据库中link链接访问oracle 19c/11g-记录总结

达梦数据库-达梦数据库中link链接访问oracle 19c/11g-记录总结

达梦通过LINK访问Oracle数据库有两种方式:

一种是通过Oracle oci接口,一种是通过ODBC数据源的方式,推荐使用Oralce OCI的方式去访问Oracle数据库。

示例步骤

示例环境

达梦端操作系统: Kylin Linux Advanced Server V10 (Halberd)

达梦数据库版本:DM V8 03134284368-20260306-316451-20149 Pack62

Oracle数据库:Oracle Database 19c Enterprise Edition Release 19.0.0.0.0- Production

Oracle数据库: 11g Express Edition Release 11.2.0.2.0 - 64bit Production

1 环境准备

略

准备oracle 19c数据库,创建测试表system.test,system.t01

准备oracle 11g数据库,创建测试表system.test1

下载sqldeveloper访问测试19c

https://www.oracle.com/database/sqldeveloper/technologies/download/

验证可以正常远程登录访问

下载达梦SQLark百灵连接访问测试

--19c 192.168.118.158 1521 orclcdb

下

--11g 192.168.118.171 1522 xe

1OCI方式

1.1下 载oralce客户端 instantclient-basic-linux并上传到达梦数据库机器

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

https://www.oracle.com/cn/database/technologies/instant-client/linux-x86-32-downloads.html

mkdir -p /app/

unzip instantclient-basic-linux.x64-19.30.0.0.0dbru.zip -d /app/

1.2配置环境变量

vi /home/dmdba/.bash_profile

--新增环境变量

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/app/instantclient_19_30

source /home/dmdba/.bash_profile

1.3查看是否缺少依赖

su - dmdba

ldd /app/instantclient_19_30/libclntsh.so

如果缺失

ln -s /usr/lib64/libnsl.so.2.0.1 /usr/lib64/libnsl.so.1

​​​​​​​1.4重启达梦数据库

DmServiceDAMENG restart​​​​​​​

1.5sysdba登录数据库 创建LINK访问19c

CREATE OR REPLACE LINK "SYSDBA"."ORACLE_TEST" CONNECT 'ORACLE' WITH "SYSTEM" IDENTIFIED BY "123456" USING '192.168. 118 .1 58 :1521/ORCLCDB';

select * from "SYSTEM"."TEST"@ORACLE_TEST;

insert into "SYSTEM"."TEST"@ORACLE_TEST values(2,'test2');

commit;

select * from "SYSTEM"."TEST"@ORACLE_TEST;

select sysdate from DUAL@ORACLE_TEST;

这里注意用户名大写,否则使用时会报错:

-6033: 第1 行附近出现错误:DBLINK连接丢失

1.6sysdba登录数据库 创建LINK访问11g

CREATE OR REPLACE LINK "SYSDBA"."ORACLE11G_TEST" CONNECT 'ORACLE' WITH "SYSTEM" IDENTIFIED BY "oracle" USING '192.168.118.171:1522/XE';

select * from "SYSTEM"."TEST1"@ORACLE11G_TEST;

insert into "SYSTEM"."TEST1"@ORACLE11G_TEST values(2);

commit;

select * from "SYSTEM"."TEST1"@ORACLE11G_TEST;

select sysdate from DUAL@ORACLE11G_TEST;

select * from V$VERSION@ORACLE11G_TEST;

2ODBC方式

2.1下载解压 instantclient-basic-linux 和 instantclient-odbc-linux

--下载、上传到/dmsoft解压

unzip instantclient-basic-linux.x64-19.30.0.0.0dbru.zip -d /app

unzip instantclient-odbc-linux.x64-19.30.0.0.0dbru.zip -d /app

--新增LD_LIBRARY_PATH环境变量路径/app/instantclient_19_30

vi /home/dmdba/.bash_profile

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/app/instantclient_19_30"

​​​​​​​2.2编译 安装ODBC

--上传unixODBC-2.3.0.tar.gz解压后编译安装

tar -xvzf unixODBC-2.3.0.tar.gz

cd unixODBC-2.3.0/

./configure

make

make install

--检查依赖是否正常

ldd /app/instantclient_19_30/libsqora.so.19.1

2.3​​​​​​​配置tnsnames.ora,并配置TNS_ADMIN系统环境变量

vi /app/instantclient_19_30/network/admin/tnsnames.ora

ORCLCDB =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.118.158)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = ORCLCDB)

)

)

#配置TNS_ADMIN系统环境变量

vim /etc/profile

export TNS_ADMIN=/app/instantclient_19_30/network/admin

source /etc/profile

注:一定要配置,否则执行isql -v ORA19时一直卡住。

​​​​​​​2.4配置odbc相关参数-以19c为示例,11g配置类似

zroot@localhost \~# odbcinst -j

root@loaclhost unixODBC-2.3.0# vi /usr/local/etc/odbcinst.ini

Oracle ODBC1930

Description = Oracle ODBC Driver

DRIVER = /app/instantclient_19_30/libsqora.so.19.1

root@loaclhost unixODBC-2.3.0# vi /usr/local/etc/odbc.ini

ORA19

DSN = 192.168.118.158:1521

Driver = Oracle ODBC1930

ServerName = ORCLCDB

UserID=SYSTEM

Password=123456

TCP_PORT=1521

root@loaclhost unixODBC-2.3.0# isql -v ORA19

root@loaclhost unixODBC-2.3.0# su - dmdba

dmdba@loaclhost \~$ isql -v ORA19

create or replace link "LINKODBC" connect 'ODBC' with "SYSTEM" identified by "123456" using 'ORA19';

select * from "SYSTEM"."T01"@LINKODBC;

--查询link信息

select * from DBA_DB_LINKS;

注:如果报错第1 行附近出现错误-6033:DBLINK连接丢失,达梦数据库要重启下。

更多达梦数据库运维指南、在线文档、相关资料、社区在线提问以及技术分享

访问 https://eco.dameng.com/

相关推荐
weixin_511255212 小时前
MySQL升级记录
数据库·mysql
程序猿乐锅3 小时前
【黑马点评 | 第八篇】Redisson分布式锁
java·数据库·spring boot·redis·分布式·spring·缓存
Leo.yuan3 小时前
2026年本地化Data Agent优质厂商盘点:哪些产品更适合企业生产环境
大数据·数据库·人工智能
做运维的阿瑞3 小时前
数据库增删改的安全写法
数据库·sql·mysql
程序边界4 小时前
迁移评估不再拍脑袋,这个数据迁移工具的量化报告把我救了(上)
数据库
阿狗童鞋4 小时前
Redis实战指南
数据库·redis·缓存
lupai5 小时前
维修保养记录精准版 API 对接实战指南
数据库·python
2601_952196368 小时前
计算机科学与技术专业应届生投商业分析岗,需要哪些额外能力?
数据库·oracle
皮皮学姐分享-ppx8 小时前
地级市、省级人才政策强度测算(2000-2025)
大数据·数据库·人工智能·百度·高考
晚安日记wanna8 小时前
大厂禁 JOIN 的真正原因,拆到第四层才清楚
数据库·后端·面试