达梦数据库-达梦数据库中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配置类似

z[root@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 ![](https://i-blog.csdnimg.cn/direct/c047ea524b47405d978ba72ac0a3218e.png) \[root@loaclhost unixODBC-2.3.0\]# su - dmdba \[dmdba@loaclhost \~\]$ isql -v ORA19 #### ​​​​​​​2.5示例-**达梦中创建** **LINK** **访问ORACLE 19c使用** **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; ![](https://i-blog.csdnimg.cn/direct/0945cab0731144e98c9f5b238d7ee4c5.png) ![](https://i-blog.csdnimg.cn/direct/ec9aa19f11154e72955b5aa377610a7e.png) 注:如果报错第1 行附近出现错误\[-6033\]:DBLINK连接丢失,达梦数据库要重启下。 更多达梦数据库运维指南、在线文档、相关资料、社区在线提问以及技术分享 访问 [https://eco.dameng.com/](https://eco.dameng.com/ "https://eco.dameng.com/")

相关推荐
萌兰三太子2 小时前
RAG 向量数据库设计指南:从入门到生产
数据库·oracle
TDengine (老段)2 小时前
中原油田引入时序数据库 TDengine:写入性能提升、存储成本下降 85%
大数据·数据库·人工智能·时序数据库·tdengine·涛思数据
IT邦德2 小时前
Oracle 26ai搭建ADG Far Sync日志备库
数据库·oracle
Crazy CodeCrafter2 小时前
现在做服装,实体和电商怎么选?
大数据·数据库·人工智能·微信·开源软件·零售
一江寒逸3 小时前
零基础从入门到精通MongoDB(下篇):进阶精通篇——吃透高级查询、事务、索引优化与集群架构,成为MongoDB实战高手
数据库·mongodb·架构
sa100273 小时前
一键获取淘宝天猫商品评论:API 接口实战与多语言实现教程
数据库·oracle
huanmieyaoseng10033 小时前
Linux安装达梦数据库DM8
linux·运维·数据库
香蕉鼠片3 小时前
Mysql进阶篇
数据库·mysql·oracle
数厘3 小时前
2.12 sql 数据插入(INSERT INTO)
数据库·sql·oracle