达梦数据库-达梦数据库中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/

相关推荐
zcmodeltech3 分钟前
智能矿井沙盘模型多系统协同控制系统设计:基于STM32与Modbus RTU的感知-传输-控制一体化方案
服务器·数据库·分布式·stm32·单片机·嵌入式硬件
江晓鱼未暖1 小时前
十七、Redis 核心原理与架构详解
大数据·数据库·数据仓库·redis·缓存·架构
copyer_xyf1 小时前
PostgreSQL 做向量检索:一条单库路线
数据库·agent·nestjs
Access开发易登软件1 小时前
Access 怎么做前后端分离?用 Web API 读写 SQL Server
前端·数据库·人工智能·microsoft·excel·access
Juicedata1 小时前
腾讯云 x JuiceFS:基于 FoundationDB 的企业级统一存储实践
数据库·人工智能·科技·云计算·腾讯云
小罗水1 小时前
第13章 Redis 缓存、幂等锁与任务状态
数据库·redis·缓存
SelectDB技术团队1 小时前
当 PostgreSQL 面临性能瓶颈:80TB 电商业务迁移至 Apache Doris 的实践思考
数据库·postgresql·apache
心念枕惊1 小时前
新写了个直播录制工具,可录制抖音快手斗鱼直播
运维·服务器·数据库
逐米时代2 小时前
向量数据库选型——Chroma、Qdrant、Milvus到底怎么选
数据库·milvus
段一凡-华北理工大学2 小时前
AI推动工业智能化转型~系列文章05:特征工程:工业 AI 的第一生产力
数据库·人工智能·分布式·搜索引擎·特征工程·高炉智能化